JSplitPane, Jtree, CardLayout (constraint must be a string)

drei1padsvb

Aktives Mitglied
Guten Abend,

ich bin noch Anfänger und bin grad dabei mich etwas in die Materie einzuarbeiten, deswegen hoffe ich, Ihr könnt mir ein paar "leichte" Fehler verzeihen :).

Folgender Sachverhalt:

Ich habe ein JSplitPane. Auf seiner linken Seite ist ein JTree. Auf der Rechten das CardLayout.

Nun soll sich der rechte Bereich bei bestimmten Klick des Jtrees ändern. Also eine Card angezeigt werden.

Allerding lässt sich das Programm nicht starten. Folgende Fehlermeldung wird in der Konsole angezeigt:
"Exception in thread "main" java.lang.IllegalArgumentException: cannot add to layout: constraint must be a string"

Hier der Code:
Java:
package InterfaceTest_Neu;

/**
 *
 * @author abc
 */

import javax.swing.*;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;

import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;

import java.awt.*;
import java.awt.CardLayout;

public class TreeDemo extends JFrame {


    public TreeDemo() {

    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    CardLayout c1 = new CardLayout();
    JPanel leftp = new JPanel(c1);


   // Erstellung des trees
   DefaultMutableTreeNode root = new DefaultMutableTreeNode( "Editor > Verwaltung" );

   DefaultMutableTreeNode passengerT = new DefaultMutableTreeNode( "Passagier" );
   DefaultMutableTreeNode airportT = new DefaultMutableTreeNode( "Flughafen" );
   DefaultMutableTreeNode seatStructureT = new DefaultMutableTreeNode( "Sitzstruktur" );
   DefaultMutableTreeNode aircraftTypT = new DefaultMutableTreeNode( "Flugzeugtyp" );
   DefaultMutableTreeNode airlineT = new DefaultMutableTreeNode( "Fluglinie" );
   DefaultMutableTreeNode aircraftT = new DefaultMutableTreeNode( "Flugzeug" );
   DefaultMutableTreeNode flightT = new DefaultMutableTreeNode( "Flug" );
   DefaultMutableTreeNode flightRealizationT = new DefaultMutableTreeNode( "Flugdurchführung" );
   DefaultMutableTreeNode bookingT = new DefaultMutableTreeNode( "Buchung" );

   final DefaultMutableTreeNode passengerOverview = new DefaultMutableTreeNode( "Übersicht" );
   DefaultMutableTreeNode airportOverview = new DefaultMutableTreeNode( "Übersicht" );
   DefaultMutableTreeNode seatStructureOverview = new DefaultMutableTreeNode( "Übersicht" );
   DefaultMutableTreeNode aircraftTypOverview = new DefaultMutableTreeNode( "Übersicht" );
   DefaultMutableTreeNode airlineOverview = new DefaultMutableTreeNode( "Übersicht" );
   DefaultMutableTreeNode aircraftOverview = new DefaultMutableTreeNode( "Übersicht" );
   DefaultMutableTreeNode flightOverview = new DefaultMutableTreeNode( "Übersicht" );
   DefaultMutableTreeNode flightRealizationOverview = new DefaultMutableTreeNode( "Übersicht" );
   DefaultMutableTreeNode bookingOverview = new DefaultMutableTreeNode( "Übersicht" );


   // ... dann werden sie verknüpft
   passengerT.add( passengerOverview );
   airportT.add( airportOverview );
   seatStructureT.add( seatStructureOverview );
   aircraftTypT.add( aircraftTypOverview );
   airlineT.add( airlineOverview );
   aircraftT.add( aircraftOverview );
   flightT.add( flightOverview );
   flightRealizationT.add( flightRealizationOverview );
   bookingT.add( bookingOverview );


   root.add( passengerT );
   root.add( airportT );
   root.add( seatStructureT );
   root.add( aircraftTypT );
   root.add( airlineT );
   root.add( aircraftT );
   root.add( flightT );
   root.add( flightRealizationT );
   root.add( bookingT );

   final JTree tree = new JTree( root );
   final JScrollPane scrollTree = new JScrollPane( tree );
   tree.setPreferredSize(new Dimension(250,600));
   this.add(scrollTree);
  
        leftp.add(tree);

        JPanel mainPage = new JPanel();

        // Erstellung des Cards für den rechten Bereich (werden aus externen Klassen geholt)
        // Passenger
        final JPanel passengerManage = new JPanel();
        JPanel passengerCreate = new JPanel();
        JPanel passengerEdit = new JPanel();

        // Airport
        JPanel airportManage = new JPanel();
        JPanel airportCreate = new JPanel();
        JPanel airportEdit = new JPanel();

        // Habe hier überall Strings hinzugefügt, da ich gelesen habe, dass das oft der Grund für die Fehlermeldung sein kann. In diesem Fall hat das jedoch nichts gebracht
        mainPage.add(new MainPage(), "Hier");
        passengerManage.add(new PassengerManage(), "das");
        passengerCreate.add(new PassengerCreate(), "das");
        passengerEdit.add(new PassengerEdit(), "das");
        airportManage.add(new AirportManage(), "das");
        airportCreate.add(new AirportCreate(), "das");
        airportEdit.add(new AirportEdit2(), "das");

        final JPanel rightp = new JPanel(new CardLayout());

        rightp.add(mainPage, "One");
        rightp.add(passengerManage, "Passagier verwalten");
        rightp.add(passengerCreate, "Three");
        rightp.add(passengerEdit, "Four");
        rightp.add(airportManage, "Two");
        rightp.add(airportCreate, "Three");
        rightp.add(airportEdit, "Four");


        //Add the scroll panes to a split pane.
        JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
        splitPane.setLeftComponent(tree);
        splitPane.setRightComponent(rightp);

        splitPane.setContinuousLayout(false);
        splitPane.setDividerLocation(200);
        splitPane.setEnabled(false);

        //Add the split pane to this panel.
        getContentPane().add(splitPane);

        tree.getSelectionModel().addTreeSelectionListener(
          new TreeSelectionListener()
          {
            @Override public void valueChanged( TreeSelectionEvent e )
 {

            DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree
                    .getLastSelectedPathComponent();

            if (node == null)
                return;

            else if (node.getParent().toString().equals( "Passagier")) {

                ((CardLayout)passengerManage.getLayout()).show(passengerManage, "Passagier verwalten");

            }


            }
        });


    }
    public static void main(String[] args) {

        TreeDemo td = new TreeDemo();
        td.setSize(800,600);
        td.show();

    }
}

Des Weiteren ist das Layout der externen Klasse (z.B. PassengerManage) das GridBagLayout.
Könnte es das auch Probleme geben?

Vielen Dank für Eure Hilfe!
 

drei1padsvb

Aktives Mitglied
Ah, Mensch.
Zeile 83. Da ist der Fehler.
Hier wird noch ein String erwartet.
Also:
Java:
leftp.add(tree, "Ein String");[/Java]
 
Zuletzt bearbeitet:

jgh

Top Contributor
mmh wo soll man anfangen?
Du schreibst: "...Ich habe ein JSplitPane. Auf seiner linken Seite ist ein JTree. Auf der Rechten das CardLayout...." und gibst im Code dem linken Panel das CardLayout?!!

[java=29] CardLayout c1 = new CardLayout();
JPanel leftp = new JPanel(c1);[/code]

Dieser Code sollte doch wehtun...du konstruierst einen JTree, soweit so gut.
Du machst dir eine JScrollPane und übergibst dabei den JTree, auch ok.
Also hast du eine JScrollPane, in der sich dein JTree befindet...auch i.O.
Dann addest du die JScrollPane dem JFrame UND addest dem JTree deinen leftp?!?

[java=78] final JTree tree = new JTree( root );
final JScrollPane scrollTree = new JScrollPane( tree );
tree.setPreferredSize(new Dimension(250,600));
this.add(scrollTree);
leftp.add(tree);[/code]

Und dann kommt dein CardLayout-Design^^
Ohne mal auf deine Fehler eingehen zu wollen, dass CardLayout ist wie folgt gedacht: Irgendeine JComponent bekommt das CardLayout als LayoutManager gesetzt, nehmen wir mal dein
Code:
rightp
vom Typ JPanel. Diesem addest du jetzt verschiedene andere Komponenten (bswp. new PassengerManage() -sofern es JPanel, oder JComponent erweitert) und gibst zusätzlich einen freiwählbaren String als Namen mit.
[java=110] rightp.add(new PassengerManage(), "PassengerManage");[/code]

Hier mal dein Bsp als KSKB, das beim Klicken auf das "Übersicht" Node des JTrees, das entsprechende Panel anzeigt. Angedacht natürlich nur und erkennbar an den Unterschieden der Hintergrundfarbe.
Welches Layout du dann bei deinen externen Klassen benutzt ist eigentlich egal. Wenn das sauber gecoded ist, wirst du keine Probs bekommen.
Java:
import javax.swing.*;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;

import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;

import java.awt.*;
import java.awt.CardLayout;

public class TreeDemo extends JFrame {

	public TreeDemo() {

		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		CardLayout c1 = new CardLayout();
		JPanel leftp = new JPanel();

		// Erstellung des trees
		DefaultMutableTreeNode root = new DefaultMutableTreeNode(
				"Editor > Verwaltung");

		DefaultMutableTreeNode passengerT = new DefaultMutableTreeNode(
				"Passagier");
		DefaultMutableTreeNode airportT = new DefaultMutableTreeNode(
				"Flughafen");
		DefaultMutableTreeNode seatStructureT = new DefaultMutableTreeNode(
				"Sitzstruktur");
		DefaultMutableTreeNode aircraftTypT = new DefaultMutableTreeNode(
				"Flugzeugtyp");
		DefaultMutableTreeNode airlineT = new DefaultMutableTreeNode(
				"Fluglinie");
		DefaultMutableTreeNode aircraftT = new DefaultMutableTreeNode(
				"Flugzeug");
		DefaultMutableTreeNode flightT = new DefaultMutableTreeNode("Flug");
		DefaultMutableTreeNode flightRealizationT = new DefaultMutableTreeNode(
				"Flugdurchführung");
		DefaultMutableTreeNode bookingT = new DefaultMutableTreeNode("Buchung");

		final DefaultMutableTreeNode passengerOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode airportOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode seatStructureOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode aircraftTypOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode airlineOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode aircraftOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode flightOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode flightRealizationOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode bookingOverview = new DefaultMutableTreeNode(
				"Übersicht");

		// ... dann werden sie verknüpft
		passengerT.add(passengerOverview);
		airportT.add(airportOverview);
		seatStructureT.add(seatStructureOverview);
		aircraftTypT.add(aircraftTypOverview);
		airlineT.add(airlineOverview);
		aircraftT.add(aircraftOverview);
		flightT.add(flightOverview);
		flightRealizationT.add(flightRealizationOverview);
		bookingT.add(bookingOverview);

		root.add(passengerT);
		root.add(airportT);
		root.add(seatStructureT);
		root.add(aircraftTypT);
		root.add(airlineT);
		root.add(aircraftT);
		root.add(flightT);
		root.add(flightRealizationT);
		root.add(bookingT);

		final JTree tree = new JTree(root);
		final JScrollPane scrollTree = new JScrollPane(tree);
		tree.setPreferredSize(new Dimension(250, 600));

		leftp.add(scrollTree);

		final JPanel mainPage = new JPanel(c1);

		// Erstellung des Cards für den rechten Bereich (werden aus externen
		// Klassen geholt)
		// Passenger
		JPanel passengerManage = new JPanel();
		passengerManage.setBackground(Color.CYAN);
		JPanel passengerCreate = new JPanel();
		passengerCreate.setBackground(Color.red);
		JPanel passengerEdit = new JPanel();
		passengerEdit.setBackground(Color.blue);
		// Airport
		JPanel airportManage = new JPanel();
		airportManage.setBackground(Color.green);
		JPanel airportCreate = new JPanel();
		airportCreate.setBackground(Color.white);
		JPanel airportEdit = new JPanel();
		airportEdit.setBackground(Color.yellow);

		// Habe hier überall Strings hinzugefügt, da ich gelesen habe, dass das
		// oft der Grund für die Fehlermeldung sein kann. In diesem Fall hat das
		// jedoch nichts gebracht
		// mainPage.add(new JPanel(), "Hier");
		// passengerManage.add(new PassengerManage(), "das");
		// passengerCreate.add(new PassengerCreate(), "das");
		// passengerEdit.add(new PassengerEdit(), "das");
		// airportManage.add(new AirportManage(), "das");
		// airportCreate.add(new AirportCreate(), "das");
		// airportEdit.add(new AirportEdit2(), "das");

		final JPanel rightp = new JPanel(new CardLayout());

		rightp.add(mainPage, "One");
		rightp.add(passengerManage, "Two");
		rightp.add(passengerCreate, "Three");
		rightp.add(passengerEdit, "Four");
		rightp.add(airportManage, "Five");
		rightp.add(airportCreate, "Six");
		rightp.add(airportEdit, "Seven");

		// Add the scroll panes to a split pane.
		JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
		splitPane.setLeftComponent(scrollTree);
		splitPane.setRightComponent(rightp);

		splitPane.setContinuousLayout(false);
		splitPane.setDividerLocation(200);
		splitPane.setEnabled(false);

		// Add the split pane to this panel.
		getContentPane().add(splitPane);

		tree.getSelectionModel().addTreeSelectionListener(
				new TreeSelectionListener() {
					@Override
					public void valueChanged(TreeSelectionEvent e) {

						DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree
								.getLastSelectedPathComponent();

						if (node == null)
							return;

						else if (node.getParent().toString()
								.equals("Passagier")) {
							((CardLayout) rightp.getLayout()).show(rightp,
									"Two");

						} else if (node.getParent().toString()
								.equals("Flughafen")) {
							((CardLayout) rightp.getLayout()).show(rightp,
									"Three");

						} else if (node.getParent().toString()
								.equals("Sitzstruktur")) {
							((CardLayout) rightp.getLayout()).show(rightp,
									"Four");

						} else if (node.getParent().toString()
								.equals("Flugzeugtyp")) {
							((CardLayout) rightp.getLayout()).show(rightp,
									"Five");

						} else if (node.getParent().toString()
								.equals("Fluglinie")) {
							((CardLayout) rightp.getLayout()).show(rightp,
									"Six");

						} else if (node.getParent().toString()
								.equals("Flugzeug")) {
							((CardLayout) rightp.getLayout()).show(rightp,
									"Seven");

						}

					}
				});

	}

	public static void main(String[] args) {

		TreeDemo td = new TreeDemo();

		td.setSize(800, 600);
		td.setLocationRelativeTo(null);
		td.setVisible(true);

	}
}
 

drei1padsvb

Aktives Mitglied
Hi,

erstmal vielen Dank für deine super Antwort.
Hat mir auf jeden Fall weitergeholfen.
Auch vom Verständnis her.

Das mit dem
Java:
CardLayout c1 = new CardLayout();
JPanel leftp = new JPanel(c1);
ist mir gestern Nacht auch noch aufgefallen.

Soweit klappt nun alles, wie ich es wollte.

Nun hab ich folgenden Fall, dass ich in bspw. PassengerManage.java einen Button ("Passagier anlegen").
Die Maske für Passagier anlegen ist in einer extra Klasse codiert.
Wie schaff ich es, "Passagier anlegen" im rechten Bereich der TreeDemo.java anzeigen zu lassen.

In PassengerManage.java hab ich ja den Listener für den Button "Passagier anlegen".
Aber ich weiß leider nicht, wie ich das nun realisieren kann.
 

jgh

Top Contributor
hier mal ein mögliches Beispiel, wie man das realisieren kann/könnte.
Aber wie du evtl erkennst, muss man sich dann vorher über die Sichtbarkeit der Variablen Gedanken machen. Jetzt bekommst du beim Klick auf den Teil Übersicht-Passagier des JTrees einen Button angezeigt.

Als Beispielcode sollte das hier nicht dienen!!!
Alle Variablen die du im Konstruktor definierst, sind auch nur dort vorhanden. Für dieses Beispiel habe ich das
Code:
rightp
mal außerhalb des Konstruktors deklariert, damit ich dann aus einer anderen Klasse darauf zugreifen kann.

Java:
import javax.swing.*;

import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class TreeDemo extends JFrame {
	final JPanel rightp;

	public TreeDemo() {

		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		CardLayout c1 = new CardLayout();
		JPanel leftp = new JPanel();

		// Erstellung des trees
		DefaultMutableTreeNode root = new DefaultMutableTreeNode(
				"Editor > Verwaltung");

		DefaultMutableTreeNode passengerT = new DefaultMutableTreeNode(
				"Passagier");
		DefaultMutableTreeNode airportT = new DefaultMutableTreeNode(
				"Flughafen");
		DefaultMutableTreeNode seatStructureT = new DefaultMutableTreeNode(
				"Sitzstruktur");
		DefaultMutableTreeNode aircraftTypT = new DefaultMutableTreeNode(
				"Flugzeugtyp");
		DefaultMutableTreeNode airlineT = new DefaultMutableTreeNode(
				"Fluglinie");
		DefaultMutableTreeNode aircraftT = new DefaultMutableTreeNode(
				"Flugzeug");
		DefaultMutableTreeNode flightT = new DefaultMutableTreeNode("Flug");
		DefaultMutableTreeNode flightRealizationT = new DefaultMutableTreeNode(
				"Flugdurchführung");
		DefaultMutableTreeNode bookingT = new DefaultMutableTreeNode("Buchung");

		final DefaultMutableTreeNode passengerOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode airportOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode seatStructureOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode aircraftTypOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode airlineOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode aircraftOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode flightOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode flightRealizationOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode bookingOverview = new DefaultMutableTreeNode(
				"Übersicht");

		// ... dann werden sie verknüpft
		passengerT.add(passengerOverview);
		airportT.add(airportOverview);
		seatStructureT.add(seatStructureOverview);
		aircraftTypT.add(aircraftTypOverview);
		airlineT.add(airlineOverview);
		aircraftT.add(aircraftOverview);
		flightT.add(flightOverview);
		flightRealizationT.add(flightRealizationOverview);
		bookingT.add(bookingOverview);

		root.add(passengerT);
		root.add(airportT);
		root.add(seatStructureT);
		root.add(aircraftTypT);
		root.add(airlineT);
		root.add(aircraftT);
		root.add(flightT);
		root.add(flightRealizationT);
		root.add(bookingT);

		final JTree tree = new JTree(root);
		final JScrollPane scrollTree = new JScrollPane(tree);
		tree.setPreferredSize(new Dimension(250, 600));

		leftp.add(scrollTree);

		final JPanel mainPage = new JPanel(c1);

		// Erstellung des Cards für den rechten Bereich (werden aus externen
		// Klassen geholt)
		// Passenger
		PassengerManage passengerManage = new PassengerManage(this);
		JPanel passengerCreate = new JPanel();
		passengerCreate.setBackground(Color.red);
		JPanel passengerEdit = new JPanel();
		passengerEdit.setBackground(Color.blue);
		// Airport
		JPanel airportManage = new JPanel();
		airportManage.setBackground(Color.green);
		JPanel airportCreate = new JPanel();
		airportCreate.setBackground(Color.white);
		JPanel airportEdit = new JPanel();
		airportEdit.setBackground(Color.yellow);

		// Habe hier überall Strings hinzugefügt, da ich gelesen habe, dass das
		// oft der Grund für die Fehlermeldung sein kann. In diesem Fall hat das
		// jedoch nichts gebracht
		// mainPage.add(new JPanel(), "Hier");
		// passengerManage.add(new PassengerManage(), "das");
		// passengerCreate.add(new PassengerCreate(), "das");
		// passengerEdit.add(new PassengerEdit(), "das");
		// airportManage.add(new AirportManage(), "das");
		// airportCreate.add(new AirportCreate(), "das");
		// airportEdit.add(new AirportEdit2(), "das");

		rightp = new JPanel(new CardLayout());

		rightp.add(mainPage, "One");
		rightp.add(passengerManage, "passengerManage");
		rightp.add(passengerCreate, "Three");
		rightp.add(passengerEdit, "Four");
		rightp.add(airportManage, "Five");
		rightp.add(airportCreate, "Six");
		rightp.add(airportEdit, "Seven");

		// Add the scroll panes to a split pane.
		JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
		splitPane.setLeftComponent(scrollTree);
		splitPane.setRightComponent(rightp);

		splitPane.setContinuousLayout(false);
		splitPane.setDividerLocation(200);
		splitPane.setEnabled(false);

		// Add the split pane to this panel.
		getContentPane().add(splitPane);

		tree.getSelectionModel().addTreeSelectionListener(
				new TreeSelectionListener() {
					@Override
					public void valueChanged(TreeSelectionEvent e) {

						DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree
								.getLastSelectedPathComponent();

						if (node == null)
							return;

						else if (node.getParent().toString()
								.equals("Passagier")) {
							((CardLayout) rightp.getLayout()).show(rightp,
									"passengerManage");

						} else if (node.getParent().toString()
								.equals("Flughafen")) {
							((CardLayout) rightp.getLayout()).show(rightp,
									"Three");

						} else if (node.getParent().toString()
								.equals("Sitzstruktur")) {
							((CardLayout) rightp.getLayout()).show(rightp,
									"Four");

						} else if (node.getParent().toString()
								.equals("Flugzeugtyp")) {
							((CardLayout) rightp.getLayout()).show(rightp,
									"Five");

						} else if (node.getParent().toString()
								.equals("Fluglinie")) {
							((CardLayout) rightp.getLayout()).show(rightp,
									"Six");

						} else if (node.getParent().toString()
								.equals("Flugzeug")) {
							((CardLayout) rightp.getLayout()).show(rightp,
									"Seven");

						}

					}
				});

	}

	public static void main(String[] args) {

		TreeDemo td = new TreeDemo();

		td.setSize(800, 600);
		td.setLocationRelativeTo(null);
		td.setVisible(true);

	}
}

class PassengerManage extends JPanel {
	final TreeDemo td;
	JButton b;

	public PassengerManage(TreeDemo td) {
		this.td = td;

		initButton();

		setLayout(new GridBagLayout());
		add(b);
	}

	private void initButton() {
		b = new JButton("Passagier anlegen");
		b.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				JOptionPane
						.showMessageDialog(null,
								"Hier dann ein JPanel zum\n initialisieren eines Passagiers");
				// dafür brauchst du dann auch die Referenz auf den TreeDemo
				// und rightp als Variable, die in der gesamten Klasse sichtbar
				// ist, und NICHT NUR im Konstruktor
				// ((CardLayout) td.rightp.getLayout()).show(td.rightp,
				// "DeinNameUnterDemDuDeinPanelDemCardLayoutGeaddetHast");
			}
		});
	}
}
 
Zuletzt bearbeitet:

drei1padsvb

Aktives Mitglied
Erstmal nochmal vielen Dank, dass du dir die Zeit nimmst und mir hierbei hilfst!

Aber so ganz hab ich es noch nicht hinbekommen.


TreeDemo.java mit den Variablen außerhalb des Konstruktors
Java:
import javax.swing.*;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;

import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;

import java.awt.*;
import java.awt.CardLayout;

public class TreeDemo extends JFrame {

    CardLayout cardLayout;
    JPanel rightp;
    JPanel leftp;

    public TreeDemo() {

        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        cardLayout = new CardLayout();
        leftp = new JPanel();

        // Erstellung des trees
        DefaultMutableTreeNode root = new DefaultMutableTreeNode(
                "Editor > Verwaltung");

        DefaultMutableTreeNode passengerT = new DefaultMutableTreeNode(
                "Passagier");
        DefaultMutableTreeNode airportT = new DefaultMutableTreeNode(
                "Flughafen");
        DefaultMutableTreeNode seatStructureT = new DefaultMutableTreeNode(
                "Sitzstruktur");
        DefaultMutableTreeNode aircraftTypT = new DefaultMutableTreeNode(
                "Flugzeugtyp");
        DefaultMutableTreeNode airlineT = new DefaultMutableTreeNode(
                "Fluglinie");
        DefaultMutableTreeNode aircraftT = new DefaultMutableTreeNode(
                "Flugzeug");
        DefaultMutableTreeNode flightT = new DefaultMutableTreeNode("Flug");
        DefaultMutableTreeNode flightRealizationT = new DefaultMutableTreeNode(
                "Flugdurchführung");
        DefaultMutableTreeNode bookingT = new DefaultMutableTreeNode("Buchung");

        final DefaultMutableTreeNode passengerOverview = new DefaultMutableTreeNode(
                "Übersicht");
        DefaultMutableTreeNode airportOverview = new DefaultMutableTreeNode(
                "Übersicht");
        DefaultMutableTreeNode seatStructureOverview = new DefaultMutableTreeNode(
                "Übersicht");
        DefaultMutableTreeNode aircraftTypOverview = new DefaultMutableTreeNode(
                "Übersicht");
        DefaultMutableTreeNode airlineOverview = new DefaultMutableTreeNode(
                "Übersicht");
        DefaultMutableTreeNode aircraftOverview = new DefaultMutableTreeNode(
                "Übersicht");
        DefaultMutableTreeNode flightOverview = new DefaultMutableTreeNode(
                "Übersicht");
        DefaultMutableTreeNode flightRealizationOverview = new DefaultMutableTreeNode(
                "Übersicht");
        DefaultMutableTreeNode bookingOverview = new DefaultMutableTreeNode(
                "Übersicht");

        // ... dann werden sie verknüpft
        passengerT.add(passengerOverview);
        airportT.add(airportOverview);
        seatStructureT.add(seatStructureOverview);
        aircraftTypT.add(aircraftTypOverview);
        airlineT.add(airlineOverview);
        aircraftT.add(aircraftOverview);
        flightT.add(flightOverview);
        flightRealizationT.add(flightRealizationOverview);
        bookingT.add(bookingOverview);

        root.add(passengerT);
        root.add(airportT);
        root.add(seatStructureT);
        root.add(aircraftTypT);
        root.add(airlineT);
        root.add(aircraftT);
        root.add(flightT);
        root.add(flightRealizationT);
        root.add(bookingT);

        final JTree tree = new JTree(root);
        final JScrollPane scrollTree = new JScrollPane(tree);
        tree.setPreferredSize(new Dimension(250, 600));

        leftp.add(scrollTree);

        final JPanel mainPage = new JPanel(cardLayout);

        // Erstellung des Cards für den rechten Bereich (werden aus externen
        // Klassen geholt)
        // Passenger
        JPanel passengerManage = new JPanel();
        passengerManage.add(new PassengerManage(this));

        JPanel passengerCreate = new JPanel();
        passengerCreate.add(new PassengerCreate());
        passengerCreate.setBackground(Color.green);

        JPanel passengerEdit = new JPanel();
        passengerEdit.setBackground(Color.blue);

        // Airport
        JPanel airportManage = new JPanel();
        airportManage.add(new AirportManage());
        airportManage.setBackground(Color.green);

        JPanel airportCreate = new JPanel();
        airportCreate.setBackground(Color.white);

        JPanel airportEdit = new JPanel();
        airportEdit.setBackground(Color.yellow);

        // SeatStructure
        JPanel seatStructureManage = new JPanel();
        seatStructureManage.add(new SeatStructureManage());
        seatStructureManage.setBackground(Color.green);

        JPanel seatStructureCreate = new JPanel();
        seatStructureCreate.setBackground(Color.white);

        JPanel seatStructureEdit = new JPanel();
        seatStructureEdit.setBackground(Color.yellow);

        // AircraftType
        JPanel aircraftTypeManage = new JPanel();
        aircraftTypeManage.add(new AircraftTypeManage());
        aircraftTypeManage.setBackground(Color.green);

        JPanel aircraftTypeCreate = new JPanel();
        aircraftTypeCreate.setBackground(Color.white);

        JPanel  aircraftTypeEdit = new JPanel();
        aircraftTypeEdit.setBackground(Color.yellow);

        // Airline
        JPanel airlineManage = new JPanel();
        airlineManage.add(new AirlineManage());
        airlineManage.setBackground(Color.green);

        JPanel airlineCreate = new JPanel();
        airlineCreate.setBackground(Color.white);

        JPanel  airlineEdit = new JPanel();
        airlineEdit.setBackground(Color.yellow);

        // Aircraft
        JPanel aircraftManage = new JPanel();
        aircraftManage.add(new AircraftManage());
        aircraftManage.setBackground(Color.green);

        JPanel aircraftCreate = new JPanel();
        aircraftCreate.setBackground(Color.white);

        JPanel  aircraftEdit = new JPanel();
        aircraftEdit.setBackground(Color.yellow);

        // Flight
        JPanel flightManage = new JPanel();
        flightManage.add(new FlightManage());
        flightManage.setBackground(Color.green);

        JPanel flightCreate = new JPanel();
        flightCreate.setBackground(Color.white);

        JPanel  flightEdit = new JPanel();
        flightEdit.setBackground(Color.yellow);

        // FlightRealization
        JPanel flightRealizationManage = new JPanel();
        flightRealizationManage.add(new FlightRealizationManage());
        flightRealizationManage.setBackground(Color.green);

        JPanel flightRealizationCreate = new JPanel();
        flightRealizationCreate.setBackground(Color.white);

        JPanel  flightRealizationEdit = new JPanel();
        flightRealizationEdit.setBackground(Color.yellow);

        // Booking
        JPanel bookingManage = new JPanel();
        bookingManage.add(new BookingManage());
        bookingManage.setBackground(Color.green);

        JPanel bookingCreate = new JPanel();
        bookingCreate.setBackground(Color.white);

        JPanel  bookingEdit = new JPanel();
        bookingEdit.setBackground(Color.yellow);





        rightp = new JPanel(new CardLayout());

        rightp.add(mainPage, "One");
        rightp.add(passengerManage, "PassengerM");
        rightp.add(airportManage, "AirportM");
        rightp.add(seatStructureManage, "SeatStructureM");
        rightp.add(aircraftTypeManage, "AircraftTypeM");
        rightp.add(airlineManage, "AirlineM");
        rightp.add(aircraftManage, "AircraftM");
        rightp.add(flightManage, "FlightM");
        rightp.add(flightRealizationManage, "FlightRealizationM");
        rightp.add(bookingManage, "BookingM");

        rightp.add(passengerCreate, "Ten");
        rightp.add(passengerEdit, "Eleven");
        rightp.add(airportCreate, "Twelve");
        rightp.add(airportEdit, "Thirteen");

        // Add the scroll panes to a split pane.
        JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
        splitPane.setLeftComponent(scrollTree);
        splitPane.setRightComponent(rightp);

        splitPane.setContinuousLayout(false);
        splitPane.setDividerLocation(200);
        splitPane.setEnabled(false);

        // Add the split pane to this panel.
        getContentPane().add(splitPane);

        tree.getSelectionModel().addTreeSelectionListener(
                new TreeSelectionListener() {
                    @Override
                    public void valueChanged(TreeSelectionEvent e) {

                        DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree
                                .getLastSelectedPathComponent();

                        if (node == null)
                            return;

                        else if (node.getParent().toString()
                                .equals("Passagier")) {
                            ((CardLayout) rightp.getLayout()).show(rightp,
                                    "PassengerM");

                        } else if (node.getParent().toString()
                                .equals("Flughafen")) {
                            ((CardLayout) rightp.getLayout()).show(rightp,
                                    "AirportM");

                        } else if (node.getParent().toString()
                                .equals("Sitzstruktur")) {
                            ((CardLayout) rightp.getLayout()).show(rightp,
                                    "SeatStructureM");

                        } else if (node.getParent().toString()
                                .equals("Flugzeugtyp")) {
                            ((CardLayout) rightp.getLayout()).show(rightp,
                                    "AircraftTypeM");

                        } else if (node.getParent().toString()
                                .equals("Fluglinie")) {
                            ((CardLayout) rightp.getLayout()).show(rightp,
                                    "AirlineM");

                        } else if (node.getParent().toString()
                                .equals("Flugzeug")) {
                            ((CardLayout) rightp.getLayout()).show(rightp,
                                    "AircraftM");

                        } else if (node.getParent().toString()
                                .equals("Flug")) {
                            ((CardLayout) rightp.getLayout()).show(rightp,
                                    "FlightM");

                        } else if (node.getParent().toString()
                                .equals("Flugdurchführung")) {
                            ((CardLayout) rightp.getLayout()).show(rightp,
                                    "FlightRealizationM");

                        } else if (node.getParent().toString()
                                .equals("Buchung")) {
                            ((CardLayout) rightp.getLayout()).show(rightp,
                                    "BookingM");

                        }

                    }
                });

    }

    public static void main(String[] args) {

        TreeDemo td = new TreeDemo();

        td.setSize(800, 600);
        td.setLocationRelativeTo(null);
        td.setVisible(true);

    }
}

Auszug aus PassangerManage.java
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class PassengerManage extends JPanel {

    final TreeDemo td;

    public PassengerManage(final TreeDemo td) {
        this.td = td;
    
    GridBagLayout gbl = new GridBagLayout();
    this.setLayout(gbl);
    this.setBackground(Color.GRAY);

    GridBagConstraints constraints = new GridBagConstraints();

    constraints.fill = GridBagConstraints.HORIZONTAL;   // wie Komponente Bereich füllen soll
    constraints.weightx = 1;                     // Breite
    constraints.weighty = 1;                    // Höhe
    constraints.insets = new Insets(0,0,1,1);   // Abstände definieren

    JButton passagierAnlegen = new JButton("Anlegen");
    constraints.gridx = 0;
    constraints.gridy = 3;
    constraints.gridwidth = 1;
    this.add(passagierAnlegen, constraints);

    JButton passagierEditieren = new JButton("Editieren");
    constraints.gridx = 1;
    constraints.gridy = 3;
    this.add(passagierEditieren, constraints);

    JButton passagierLoeschen = new JButton("Löschen");
    constraints.gridx = 2;
    constraints.gridy = 3;
    this.add(passagierLoeschen, constraints);

    passagierAnlegen.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {

                JOptionPane
                        .showMessageDialog(null,
                                "Hier dann ein JPanel zum\n initialisieren eines Passagiers");
                  // Diesen Teil mit dem JPanel hab ich noch nicht ganz verstenden

                 // dafür brauchst du dann auch die Referenz auf den TreeDemo
                // und rightp als Variable, die in der gesamten Klasse sichtbar
                // ist, und NICHT NUR im Konstruktor
                 ((CardLayout) td.rightp.getLayout()).show(td.rightp,
                 "Ten");
        }
    });

    }
}

In der Klasse PassengerCreate müssen keine Anpassungen vorgenommen werden?
 

jgh

Top Contributor
ne, wenn du nichts weiter machen willst, brauchst du keine Änderungen mehr vornehmen.
Ich habe mal als beispiel eine alte Klasse von mir genommen, die Buttons sind aufgrund der ActionListener auskommentiert und reagieren nicht.
Im Endeffekt muss es einfach so gehen:
[java=110]rightp.add(new PassengerManage(this), "PassengerM");
rightp.add(new KundenPanelKundeNeu().getJp(), "kundeNeu");[/code]

oder ich verstehe dein Problem gerade nicht?!

Java:
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;

public class TreeDemo extends JFrame {

	CardLayout cardLayout;
	JPanel rightp;
	JPanel leftp;

	public TreeDemo() {

		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		cardLayout = new CardLayout();
		leftp = new JPanel();

		// Erstellung des trees
		DefaultMutableTreeNode root = new DefaultMutableTreeNode(
				"Editor > Verwaltung");

		DefaultMutableTreeNode passengerT = new DefaultMutableTreeNode(
				"Passagier");
		DefaultMutableTreeNode airportT = new DefaultMutableTreeNode(
				"Flughafen");
		DefaultMutableTreeNode seatStructureT = new DefaultMutableTreeNode(
				"Sitzstruktur");
		DefaultMutableTreeNode aircraftTypT = new DefaultMutableTreeNode(
				"Flugzeugtyp");
		DefaultMutableTreeNode airlineT = new DefaultMutableTreeNode(
				"Fluglinie");
		DefaultMutableTreeNode aircraftT = new DefaultMutableTreeNode(
				"Flugzeug");
		DefaultMutableTreeNode flightT = new DefaultMutableTreeNode("Flug");
		DefaultMutableTreeNode flightRealizationT = new DefaultMutableTreeNode(
				"Flugdurchführung");
		DefaultMutableTreeNode bookingT = new DefaultMutableTreeNode("Buchung");

		final DefaultMutableTreeNode passengerOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode airportOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode seatStructureOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode aircraftTypOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode airlineOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode aircraftOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode flightOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode flightRealizationOverview = new DefaultMutableTreeNode(
				"Übersicht");
		DefaultMutableTreeNode bookingOverview = new DefaultMutableTreeNode(
				"Übersicht");

		// ... dann werden sie verknüpft
		passengerT.add(passengerOverview);
		airportT.add(airportOverview);
		seatStructureT.add(seatStructureOverview);
		aircraftTypT.add(aircraftTypOverview);
		airlineT.add(airlineOverview);
		aircraftT.add(aircraftOverview);
		flightT.add(flightOverview);
		flightRealizationT.add(flightRealizationOverview);
		bookingT.add(bookingOverview);

		root.add(passengerT);
		root.add(airportT);
		root.add(seatStructureT);
		root.add(aircraftTypT);
		root.add(airlineT);
		root.add(aircraftT);
		root.add(flightT);
		root.add(flightRealizationT);
		root.add(bookingT);

		final JTree tree = new JTree(root);
		final JScrollPane scrollTree = new JScrollPane(tree);
		tree.setPreferredSize(new Dimension(250, 600));

		leftp.add(scrollTree);

		rightp = new JPanel(new CardLayout());

		// rightp.add(new MainPage(), "One");
		rightp.add(new JPanel(), "leer");
		rightp.add(new PassengerManage(this), "PassengerM");
		rightp.add(new KundenPanelKundeNeu().getJp(), "kundeNeu");
		// so oder ähnlich für alle anderen
		// rightp.add(airportManage, "AirportM");
		// rightp.add(seatStructureManage, "SeatStructureM");
		// rightp.add(aircraftTypeManage, "AircraftTypeM");
		// rightp.add(airlineManage, "AirlineM");
		// rightp.add(aircraftManage, "AircraftM");
		// rightp.add(flightManage, "FlightM");
		// rightp.add(new FlightRealizationManage(), "FlightRealizationM");
		// rightp.add(bookingManage, "BookingM");
		//
		// rightp.add(passengerCreate, "Ten");
		// rightp.add(passengerEdit, "Eleven");
		// rightp.add(airportCreate, "Twelve");
		// rightp.add(airportEdit, "Thirteen");

		// Add the scroll panes to a split pane.
		JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
		splitPane.setLeftComponent(scrollTree);
		splitPane.setRightComponent(rightp);

		splitPane.setContinuousLayout(false);
		splitPane.setDividerLocation(200);
		splitPane.setEnabled(false);

		// Add the split pane to this panel.
		getContentPane().add(splitPane);

		tree.getSelectionModel().addTreeSelectionListener(
				new TreeSelectionListener() {
					@Override
					public void valueChanged(TreeSelectionEvent e) {

						DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree
								.getLastSelectedPathComponent();

						if (node == null)
							return;

						else if (node.getParent().toString()
								.equals("Passagier")) {
							((CardLayout) rightp.getLayout()).show(rightp,
									"PassengerM");
						} else {
							((CardLayout) rightp.getLayout()).show(rightp,
									"leer");
						}
						if (node.getParent().toString().equals("Flughafen")) {
							((CardLayout) rightp.getLayout()).show(rightp,
									"AirportM");

						} else if (node.getParent().toString()
								.equals("Sitzstruktur")) {
							((CardLayout) rightp.getLayout()).show(rightp,
									"SeatStructureM");

						} else if (node.getParent().toString()
								.equals("Flugzeugtyp")) {
							((CardLayout) rightp.getLayout()).show(rightp,
									"AircraftTypeM");

						} else if (node.getParent().toString()
								.equals("Fluglinie")) {
							((CardLayout) rightp.getLayout()).show(rightp,
									"AirlineM");

						} else if (node.getParent().toString()
								.equals("Flugzeug")) {
							((CardLayout) rightp.getLayout()).show(rightp,
									"AircraftM");

						} else if (node.getParent().toString().equals("Flug")) {
							((CardLayout) rightp.getLayout()).show(rightp,
									"FlightM");

						} else if (node.getParent().toString()
								.equals("Flugdurchführung")) {
							((CardLayout) rightp.getLayout()).show(rightp,
									"FlightRealizationM");

						} else if (node.getParent().toString()
								.equals("Buchung")) {
							((CardLayout) rightp.getLayout()).show(rightp,
									"BookingM");

						}

					}
				});

	}

	public static void main(String[] args) {

		TreeDemo td = new TreeDemo();

		td.setSize(800, 600);
		td.setLocationRelativeTo(null);
		td.setVisible(true);

	}
}

class PassengerManage extends JPanel {

	final TreeDemo td;

	public PassengerManage(final TreeDemo td) {
		this.td = td;

		GridBagLayout gbl = new GridBagLayout();
		this.setLayout(gbl);
		this.setBackground(Color.GRAY);

		GridBagConstraints constraints = new GridBagConstraints();

		constraints.fill = GridBagConstraints.HORIZONTAL; // wie Komponente
															// Bereich füllen
															// soll
		constraints.weightx = 1; // Breite
		constraints.weighty = 1; // Höhe
		constraints.insets = new Insets(0, 0, 1, 1); // Abstände definieren

		JButton passagierAnlegen = new JButton("Anlegen");
		constraints.gridx = 0;
		constraints.gridy = 3;
		constraints.gridwidth = 1;
		this.add(passagierAnlegen, constraints);

		JButton passagierEditieren = new JButton("Editieren");
		constraints.gridx = 1;
		constraints.gridy = 3;
		this.add(passagierEditieren, constraints);

		JButton passagierLoeschen = new JButton("Löschen");
		constraints.gridx = 2;
		constraints.gridy = 3;
		this.add(passagierLoeschen, constraints);

		passagierAnlegen.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {

				// JOptionPane
				// .showMessageDialog(null,
				// "Hier dann ein JPanel zum\n initialisieren eines Passagiers");
				// Diesen Teil mit dem JPanel hab ich noch nicht ganz verstenden

				// dafür brauchst du dann auch die Referenz auf den TreeDemo
				// und rightp als Variable, die in der gesamten Klasse sichtbar
				// ist, und NICHT NUR im Konstruktor
				((CardLayout) td.rightp.getLayout())
						.show(td.rightp, "kundeNeu");
			}
		});

	}
}

class KundenPanelKundeNeu extends JPanel {

	private static final long serialVersionUID = 1L;
	private JComboBox jComboBoxAnrede;
	private JTextField jTextfieldKundenName;
	private JTextField jTextfieldKundenVorName;
	private JTextField jTextfieldKundenStrasse;
	private JTextField jTextfieldKundenPLZ;
	private JTextField jTextfieldKundenOrt;
	private JTextField jTextfieldTel1;
	private JTextField jTextfieldTel2;

	private JLabel labelAnrede;
	private JLabel labelKundenName;
	private JLabel labelKundenVorName;
	private JLabel labelKundenStrasse;
	private JLabel labelKundenPLZ;
	private JLabel jLabelTel1;
	private JLabel jLabelTel2;
	private JLabel labelKundenOrt;

	private JButton jButtonKundeSpeichern;
	private JButton jButtonKundeVerwerfen;
	private JCheckBox jCheckBoxAktiv;
	private JLabel jLabelKundeAktiv;
	private JPanel jp;

	public KundenPanelKundeNeu() {
		System.out.println("GG");
		setLayout(new BorderLayout());
		jp = new JPanel();
		jp.setLayout(new GridBagLayout());
		GridBagConstraints c = new GridBagConstraints();
		c.insets = new Insets(4, 40, 0, 20);
		c.anchor = GridBagConstraints.WEST;
		c.weightx = GridBagConstraints.WEST;

		jCheckBoxAktiv = new JCheckBox("");
		jCheckBoxAktiv.setSelected(false);
		jLabelKundeAktiv = new JLabel("in Bearbeitung");

		jButtonKundeSpeichern = new JButton("Speichern");
		jButtonKundeVerwerfen = new JButton("Verwerfen");

		jComboBoxAnrede = new JComboBox(
				new String[] { "Herr", "Frau", "Firma" });

		jTextfieldKundenName = new JTextField(20);
		jTextfieldKundenVorName = new JTextField(20);
		jTextfieldKundenStrasse = new JTextField(20);
		jTextfieldKundenPLZ = new JTextField(8);
		jTextfieldKundenOrt = new JTextField(20);
		jTextfieldTel1 = new JTextField(20);
		jTextfieldTel2 = new JTextField(20);

		labelAnrede = new JLabel("Anrede:");
		labelKundenName = new JLabel("KundenName:");
		labelKundenVorName = new JLabel("KundenVorName:");
		labelKundenStrasse = new JLabel("KundenStraße:");
		labelKundenPLZ = new JLabel("KundenPLZOrt");
		jLabelTel1 = new JLabel("Tel:");
		jLabelTel2 = new JLabel("Handy:");

		// jButtonGeburtstagsOption.setPreferredSize(labelAnrede.getSize());
		c.gridx = 0;
		c.gridy = 0;
		jp.add(labelAnrede, c);
		c.gridx = 1;
		jp.add(jComboBoxAnrede, c);

		c.gridx = 0;
		c.gridy = 1;
		jp.add(labelKundenName, c);
		c.gridx = 1;
		jp.add(jTextfieldKundenName, c);

		c.gridx = 0;
		c.gridy = 2;
		jp.add(labelKundenVorName, c);
		c.gridx = 1;
		jp.add(jTextfieldKundenVorName, c);

		c.gridx = 0;
		c.gridy = 3;
		jp.add(labelKundenStrasse, c);
		c.gridx = 1;
		jp.add(jTextfieldKundenStrasse, c);

		c.gridx = 0;
		c.gridy = 4;
		jTextfieldKundenPLZ.setColumns(8);
		jp.add(labelKundenPLZ, c);
		c.gridx = 1;
		jp.add(jTextfieldKundenPLZ, c);

		c.gridx = 0;
		c.gridy = 5;
		jp.add(new JLabel("Ort:"), c);
		c.gridx = 1;
		jp.add(jTextfieldKundenOrt, c);

		c.gridx = 0;
		c.gridy = 6;
		jp.add(jLabelTel1, c);
		c.gridx = 1;
		jp.add(jTextfieldTel1, c);

		c.gridx = 0;
		c.gridy = 7;
		jp.add(jLabelTel2, c);
		c.gridx = 1;
		jp.add(jTextfieldTel2, c);

		c.gridx = 0;
		c.gridy = 8;
		jp.add(jLabelKundeAktiv, c);
		jLabelKundeAktiv.setOpaque(false);
		jCheckBoxAktiv.setOpaque(false);
		c.gridx = 1;
		jp.add(jCheckBoxAktiv, c);

		c.gridx = 0;
		c.gridy = 9;
		jp.add(jButtonKundeSpeichern, c);
		c.gridx = 1;
		jp.add(jButtonKundeVerwerfen, c);

		// JPanel jpLeer = new JPanel();
		// jpLeer.setOpaque(false);
		// Dimension D = new Dimension(700,1);
		// jp.setPreferredSize(D);
		// this.add(jp, BorderLayout.WEST);
		// this.add(jpLeer, BorderLayout.CENTER);

	}

	public JTextField getJTextfieldTel1() {
		return jTextfieldTel1;
	}

	public void setJTextfieldTel1(JTextField textfieldTel1) {
		jTextfieldTel1 = textfieldTel1;
	}

	public JTextField getJTextfieldTel2() {
		return jTextfieldTel2;
	}

	public void setJTextfieldTel2(JTextField textfieldTel2) {
		jTextfieldTel2 = textfieldTel2;
	}

	public JLabel getJLabelTel1() {
		return jLabelTel1;
	}

	public void setJLabelTel1(JLabel labelTel1) {
		jLabelTel1 = labelTel1;
	}

	public JLabel getJLabelTel2() {
		return jLabelTel2;
	}

	public void setJLabelTel2(JLabel labelTel2) {
		jLabelTel2 = labelTel2;
	}

	public JButton getJButtonKundeSpeichern() {
		return jButtonKundeSpeichern;
	}

	public void setJButtonKundeSpeichern(JButton buttonKundeSpeichern) {
		jButtonKundeSpeichern = buttonKundeSpeichern;
	}

	public JButton getJButtonKundeVerwerfen() {
		return jButtonKundeVerwerfen;
	}

	public void setJButtonKundeVerwerfen(JButton buttonKundeVerwerfen) {
		jButtonKundeVerwerfen = buttonKundeVerwerfen;
	}

	// public KundenPanel getKundenPanel() {
	// return kundenPanel;
	// }

	public JComboBox getJComboBoxAnrede() {
		return jComboBoxAnrede;
	}

	public void setJComboBoxAnrede(JComboBox jComboBoxAnrede) {
		this.jComboBoxAnrede = jComboBoxAnrede;
	}

	public JTextField getJTextfieldKundenName() {
		return jTextfieldKundenName;
	}

	public void setJTextfieldKundenName(JTextField textfieldKundenName) {
		jTextfieldKundenName = textfieldKundenName;
	}

	public JTextField getJTextfieldKundenVorName() {
		return jTextfieldKundenVorName;
	}

	public void setJTextfieldKundenVorName(JTextField textfieldKundenVorName) {
		jTextfieldKundenVorName = textfieldKundenVorName;
	}

	public JTextField getJTextfieldKundenStrasse() {
		return jTextfieldKundenStrasse;
	}

	public void setJTextfieldKundenStrasse(JTextField textfieldKundenStrasse) {
		jTextfieldKundenStrasse = textfieldKundenStrasse;
	}

	public JTextField getJTextfieldKundenPLZ() {
		return jTextfieldKundenPLZ;
	}

	public void setJTextfieldKundenPLZ(JTextField textfieldKundenPLZ) {
		jTextfieldKundenPLZ = textfieldKundenPLZ;
	}

	public JTextField getJTextfieldKundenOrt() {
		return jTextfieldKundenOrt;
	}

	public void setJTextfieldKundenOrt(JTextField textfieldKundenOrt) {
		jTextfieldKundenOrt = textfieldKundenOrt;
	}

	public JLabel getLabelKundenNr() {
		return labelAnrede;
	}

	public void setLabelKundenNr(JLabel labelKundenNr) {
		this.labelAnrede = labelKundenNr;
	}

	public JLabel getLabelKundenName() {
		return labelKundenName;
	}

	public void setLabelKundenName(JLabel labelKundenName) {
		this.labelKundenName = labelKundenName;
	}

	public JLabel getLabelKundenVorName() {
		return labelKundenVorName;
	}

	public void setLabelKundenVorName(JLabel labelKundenVorName) {
		this.labelKundenVorName = labelKundenVorName;
	}

	public JLabel getLabelKundenStrasse() {
		return labelKundenStrasse;
	}

	public void setLabelKundenStrasse(JLabel labelKundenStrasse) {
		this.labelKundenStrasse = labelKundenStrasse;
	}

	public JLabel getLabelKundenPLZ() {
		return labelKundenPLZ;
	}

	public void setLabelKundenPLZ(JLabel labelKundenPLZ) {
		this.labelKundenPLZ = labelKundenPLZ;
	}

	public JLabel getLabelKundenOrt() {
		return labelKundenOrt;
	}

	public void setLabelKundenOrt(JLabel labelKundenOrt) {
		this.labelKundenOrt = labelKundenOrt;
	}

	public static long getSerialVersionUID() {
		return serialVersionUID;
	}

	// public void setKundenPanel(KundenPanel kundenPanel) {
	// this.kundenPanel = kundenPanel;
	// }

	public JLabel getJLabelKundeAktiv() {
		return jLabelKundeAktiv;
	}

	public JCheckBox getJCheckBoxAktiv() {
		return jCheckBoxAktiv;
	}

	public void clearAll() {
		jComboBoxAnrede.setSelectedIndex(0);
		jTextfieldKundenName.setText("");
		jTextfieldKundenVorName.setText("");
		jTextfieldKundenStrasse.setText("");
		jTextfieldKundenPLZ.setText("");
		jTextfieldKundenOrt.setText("");
		jTextfieldTel1.setText("");
		jTextfieldTel2.setText("");
	}

	public JPanel getJp() {
		return jp;
	}
}

EDIT:
Dein Code unter deinen Zeilen 93-200 (ca,) ist unnütz, wenn du einfach die Panels nur adden willst.

EDIT2: Bissel abgeändert noch, so dass immer ein leeres JPanel angezeigt wird, es sei denn man klickt unter Passagier auf Übersicht. Dann kommt dein PassengerPanel und unter anlegen mein KundenPanel
 
Zuletzt bearbeitet:

drei1padsvb

Aktives Mitglied
Ich bekomme jetzt in Zeite 111 eine NullPointerException:

Java:
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;

public class TreeDemo extends JFrame {

    CardLayout cardLayout;
    JPanel rightp;
    JPanel leftp;

    public TreeDemo() {

        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        cardLayout = new CardLayout();
        leftp = new JPanel();

        // Erstellung des trees
        DefaultMutableTreeNode root = new DefaultMutableTreeNode(
                "Editor > Verwaltung");

        DefaultMutableTreeNode passengerT = new DefaultMutableTreeNode(
                "Passagier");
        DefaultMutableTreeNode airportT = new DefaultMutableTreeNode(
                "Flughafen");
        DefaultMutableTreeNode seatStructureT = new DefaultMutableTreeNode(
                "Sitzstruktur");
        DefaultMutableTreeNode aircraftTypT = new DefaultMutableTreeNode(
                "Flugzeugtyp");
        DefaultMutableTreeNode airlineT = new DefaultMutableTreeNode(
                "Fluglinie");
        DefaultMutableTreeNode aircraftT = new DefaultMutableTreeNode(
                "Flugzeug");
        DefaultMutableTreeNode flightT = new DefaultMutableTreeNode("Flug");
        DefaultMutableTreeNode flightRealizationT = new DefaultMutableTreeNode(
                "Flugdurchführung");
        DefaultMutableTreeNode bookingT = new DefaultMutableTreeNode("Buchung");

        final DefaultMutableTreeNode passengerOverview = new DefaultMutableTreeNode(
                "Übersicht");
        DefaultMutableTreeNode airportOverview = new DefaultMutableTreeNode(
                "Übersicht");
        DefaultMutableTreeNode seatStructureOverview = new DefaultMutableTreeNode(
                "Übersicht");
        DefaultMutableTreeNode aircraftTypOverview = new DefaultMutableTreeNode(
                "Übersicht");
        DefaultMutableTreeNode airlineOverview = new DefaultMutableTreeNode(
                "Übersicht");
        DefaultMutableTreeNode aircraftOverview = new DefaultMutableTreeNode(
                "Übersicht");
        DefaultMutableTreeNode flightOverview = new DefaultMutableTreeNode(
                "Übersicht");
        DefaultMutableTreeNode flightRealizationOverview = new DefaultMutableTreeNode(
                "Übersicht");
        DefaultMutableTreeNode bookingOverview = new DefaultMutableTreeNode(
                "Übersicht");

        // ... dann werden sie verknüpft
        passengerT.add(passengerOverview);
        airportT.add(airportOverview);
        seatStructureT.add(seatStructureOverview);
        aircraftTypT.add(aircraftTypOverview);
        airlineT.add(airlineOverview);
        aircraftT.add(aircraftOverview);
        flightT.add(flightOverview);
        flightRealizationT.add(flightRealizationOverview);
        bookingT.add(bookingOverview);

        root.add(passengerT);
        root.add(airportT);
        root.add(seatStructureT);
        root.add(aircraftTypT);
        root.add(airlineT);
        root.add(aircraftT);
        root.add(flightT);
        root.add(flightRealizationT);
        root.add(bookingT);

        final JTree tree = new JTree(root);
        final JScrollPane scrollTree = new JScrollPane(tree);
        tree.setPreferredSize(new Dimension(250, 600));

        leftp.add(scrollTree);

        rightp = new JPanel(new CardLayout());

        // rightp.add(new MainPage(), "One");
        rightp.add(new JPanel(), "leer");
        rightp.add(new PassengerManage(this), "PassengerM");
        rightp.add(new PassengerCreate().getJp(), "PassengerC");
        // so oder ähnlich für alle anderen
        // rightp.add(airportManage, "AirportM");
        // rightp.add(seatStructureManage, "SeatStructureM");
        // rightp.add(aircraftTypeManage, "AircraftTypeM");
        // rightp.add(airlineManage, "AirlineM");
        // rightp.add(aircraftManage, "AircraftM");
        // rightp.add(flightManage, "FlightM");
        // rightp.add(new FlightRealizationManage(), "FlightRealizationM");
        // rightp.add(bookingManage, "BookingM");
        //
        // rightp.add(passengerCreate, "Ten");
        // rightp.add(passengerEdit, "Eleven");
        // rightp.add(airportCreate, "Twelve");
        // rightp.add(airportEdit, "Thirteen");

        // Add the scroll panes to a split pane.
        JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
        splitPane.setLeftComponent(scrollTree);
        splitPane.setRightComponent(rightp);

        splitPane.setContinuousLayout(false);
        splitPane.setDividerLocation(200);
        splitPane.setEnabled(false);

        // Add the split pane to this panel.
        getContentPane().add(splitPane);

        tree.getSelectionModel().addTreeSelectionListener(
                new TreeSelectionListener() {
                    @Override
                    public void valueChanged(TreeSelectionEvent e) {

                        DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree
                                .getLastSelectedPathComponent();

                        if (node == null)
                            return;

                        else if (node.getParent().toString()
                                .equals("Passagier")) {
                            ((CardLayout) rightp.getLayout()).show(rightp,
                                    "PassengerM");
                        } else {
                            ((CardLayout) rightp.getLayout()).show(rightp,
                                    "leer");
                        }
                        if (node.getParent().toString().equals("Flughafen")) {
                            ((CardLayout) rightp.getLayout()).show(rightp,
                                    "AirportM");

                        } else if (node.getParent().toString()
                                .equals("Sitzstruktur")) {
                            ((CardLayout) rightp.getLayout()).show(rightp,
                                    "SeatStructureM");

                        } else if (node.getParent().toString()
                                .equals("Flugzeugtyp")) {
                            ((CardLayout) rightp.getLayout()).show(rightp,
                                    "AircraftTypeM");

                        } else if (node.getParent().toString()
                                .equals("Fluglinie")) {
                            ((CardLayout) rightp.getLayout()).show(rightp,
                                    "AirlineM");

                        } else if (node.getParent().toString()
                                .equals("Flugzeug")) {
                            ((CardLayout) rightp.getLayout()).show(rightp,
                                    "AircraftM");

                        } else if (node.getParent().toString().equals("Flug")) {
                            ((CardLayout) rightp.getLayout()).show(rightp,
                                    "FlightM");

                        } else if (node.getParent().toString()
                                .equals("Flugdurchführung")) {
                            ((CardLayout) rightp.getLayout()).show(rightp,
                                    "FlightRealizationM");

                        } else if (node.getParent().toString()
                                .equals("Buchung")) {
                            ((CardLayout) rightp.getLayout()).show(rightp,
                                    "BookingM");

                        }

                    }
                });

    }

    public static void main(String[] args) {

        TreeDemo td = new TreeDemo();

        td.setSize(800, 600);
        td.setLocationRelativeTo(null);
        td.setVisible(true);

    }
}

Hier meine PassengerCreate:
Java:
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;


public class PassengerCreate extends JPanel {

    private JPanel jp;

    public void showPassengerCreate(){

        jp = new JPanel();

    //GridBagLayout
    //**********************************************************************
    GridBagLayout gbl = new GridBagLayout();
    jp.setLayout(gbl);
    jp.setBackground(Color.GRAY);

    GridBagConstraints constraints = new GridBagConstraints();

    constraints.fill = GridBagConstraints.HORIZONTAL;   // wie Komponente Bereich füllen soll
    constraints.weightx = 1;                     // Breite
    constraints.weighty = 1;                    // Höhe
    constraints.insets = new Insets(0,0,1,1);   // Abstände definieren

    //Label
    //**********************************************************************
    JLabel label0 = new JLabel("Editor > Fluggast erstellen > Fluggast erstellen");
    constraints.gridx = 0;
    constraints.gridy = 0;
    constraints.gridwidth = 3;
    label0.setForeground(Color.WHITE);
    jp.add(label0, constraints);


    JLabel label1 = new JLabel("Kundennummer: ");
    constraints.gridx = 0;
    constraints.gridy = 1;
    constraints.gridwidth = 1;
    jp.add(label1, constraints);

    JLabel label2 = new JLabel();
    label2.setText("1");
    label2.setBorder(BorderFactory.createLineBorder(Color.black));
    constraints.gridx = 1;
    constraints.gridy = 1;
    jp.add(label2, constraints);


    JLabel label3 = new JLabel("Nachname: ");
    constraints.gridx = 0;
    constraints.gridy = 2;
    jp.add(label3, constraints);

    final JTextField textfield2 = new JTextField();
    constraints.gridx = 1;
    constraints.gridy = 2;
    jp.add(textfield2, constraints);

    JLabel label4 = new JLabel("Vorname: ");
    constraints.gridx = 3;
    constraints.gridy = 2;
    jp.add(label4, constraints);

    final JTextField textfield3 = new JTextField();
    constraints.gridx = 4;
    constraints.gridy = 2;
    jp.add(textfield3, constraints);

    JLabel label5 = new JLabel("Straße: ");
    constraints.gridx = 0;
    constraints.gridy = 3;
    jp.add(label5, constraints);

    final JTextField textfield4 = new JTextField();
    constraints.gridx = 1;
    constraints.gridy = 3;
    jp.add(textfield4, constraints);

    JLabel label6 = new JLabel("Ort: ");
    constraints.gridx = 3;
    constraints.gridy = 3;
    jp.add(label6, constraints);

    final JTextField textfield5 = new JTextField();
    constraints.gridx = 4;
    constraints.gridy = 3;
    jp.add(textfield5, constraints);

    JLabel label7 = new JLabel("PLZ: ");
    constraints.gridx = 0;
    constraints.gridy = 5;
    jp.add(label7, constraints);

    final JTextField textfield6 = new JTextField();
    constraints.gridx = 1;
    constraints.gridy = 5;
    jp.add(textfield6, constraints);

    //Buttons
    //**********************************************************************
    JButton button_Speichern = new JButton("Speichern");
    constraints.gridx = 0;
    constraints.gridy = 6;
    this.add(button_Speichern, constraints);

    JButton button_Abbrechen = new JButton("Abbrechen");
    constraints.gridx = 1;
    constraints.gridy = 6;
    this.add(button_Abbrechen, constraints);




    //Action Listener
    //**********************************************************************
    button_Speichern.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e){
        if ((textfield2.getText().equals("")) ||
            (textfield3.getText().equals("")) ||
            (textfield4.getText().equals("")) ||
            (textfield5.getText().equals("")) ||
            (textfield6.getText().equals("")))
        {
            JOptionPane.showMessageDialog(null, "Bitte alle Felder ausfüllen!");
        }
        else {
            JOptionPane.showMessageDialog(null, "Fluggast angelegt");

//            m_sp.setDividerLocation(200);
//            m_sp.setRightComponent(new PassengerManage());
            
        }
        }
    });

    button_Abbrechen.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e){
            SplitPaneNow m_sp = new SplitPaneNow();
//            m_sp.setDividerLocation(200);
//            m_sp.setRightComponent(new PassengerManage());
        
        }
    });

    }


    public JPanel getJp() {
        return jp;
    }

    }
 

jgh

Top Contributor
die NPE bekommst du deshalb, weil du in deiner Klasse
Code:
PassengerCreate
die ganze Initialisierung in eine Methode mit dem Namen
Code:
showPassengerCreate()
ausgelagert hast.
ein [c]new PassengerCreate()[/c] hat dann natürlich
Code:
null
als Wert für
Code:
jp

Du musst einfach im Konstruktor die Methode [c]showPassengerCreate()[/c] aufrufen und diese NPE ist verschwunden ;-)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Probleme mit JSplitPane, JScrollPane, JTree AWT, Swing, JavaFX & SWT 3
S JDesktopPane mit JSplitPane und JTree AWT, Swing, JavaFX & SWT 3
H JTable im JSplitPane darstellen AWT, Swing, JavaFX & SWT 2
L JSplitPane Divider Location beim Maximieren AWT, Swing, JavaFX & SWT 6
M Buttons in JSplitPane hinzufügen AWT, Swing, JavaFX & SWT 6
L JSplitPane - auf Änderung reagieren AWT, Swing, JavaFX & SWT 4
D JSplitPane lässt sich nicht verschieben AWT, Swing, JavaFX & SWT 3
M Swing JSplitPane beide Seiten fixieren AWT, Swing, JavaFX & SWT 2
U Swing JPane und JScrollpane in JSplitpane-Seite: Scrollen funktioniert nicht AWT, Swing, JavaFX & SWT 3
D JSplitPane -> setRightComponent aus anderer Klasse AWT, Swing, JavaFX & SWT 3
B JSplitPane AWT, Swing, JavaFX & SWT 4
J Swing Problem - Abspeichern JSplitPane Position AWT, Swing, JavaFX & SWT 5
Burny91 Swing Vertical JSplitPane lässt sich nicht nach rechts verschieben AWT, Swing, JavaFX & SWT 2
C JSplitPane Divider fixieren AWT, Swing, JavaFX & SWT 2
S JSplitpane in BorderLayout nutzen AWT, Swing, JavaFX & SWT 4
S JSplitPane rechtes JPanel aus subpanel ändern AWT, Swing, JavaFX & SWT 3
G JSplitPane DividerLocation AWT, Swing, JavaFX & SWT 2
P Swing JSplitPane mehrere Teiler AWT, Swing, JavaFX & SWT 3
W JSplitPane wegräumen AWT, Swing, JavaFX & SWT 5
T Swing JSplitPane Componenten ausrichten AWT, Swing, JavaFX & SWT 4
T Expand/Collape JSplitPane programmatically AWT, Swing, JavaFX & SWT 3
B JSplitPane mit max. Größe AWT, Swing, JavaFX & SWT 8
T Swing JSplitPane erstellen AWT, Swing, JavaFX & SWT 2
R JSplitPane automatisch ausblenden AWT, Swing, JavaFX & SWT 13
H Swing Darstellungsproblem JPanel in JPanel in JScrollpane in JSplitPane AWT, Swing, JavaFX & SWT 4
multiholle JSplitPane und MousListener AWT, Swing, JavaFX & SWT 8
S JSplitPane ändert Farbe nicht AWT, Swing, JavaFX & SWT 4
M JSplitPane Tabelle neu zeichnen AWT, Swing, JavaFX & SWT 3
G JSplitPane nur in eine richtung? AWT, Swing, JavaFX & SWT 3
G JSplitPane unf JTable automatisch anpassen AWT, Swing, JavaFX & SWT 2
H Look & Feel und JSplitPane Problem AWT, Swing, JavaFX & SWT 17
J JSplitpane separator soll nicht seine Position veraendern? AWT, Swing, JavaFX & SWT 3
J Border bei JSplitPane entfernen? AWT, Swing, JavaFX & SWT 2
A JSplitPane in JInternalFrame AWT, Swing, JavaFX & SWT 2
M JSplitPane ein JPanel hinzufügen und zentrieren. AWT, Swing, JavaFX & SWT 9
S JSplitPane mit einer Grenze AWT, Swing, JavaFX & SWT 4
T Probleme mit JSplitPane AWT, Swing, JavaFX & SWT 4
DeeDee0815 JSplitPane.expandTopLeftRightOrBottomComponent(); AWT, Swing, JavaFX & SWT 2
C JSplitPane automatische Veränderung verbieten. AWT, Swing, JavaFX & SWT 3
O JSplitPane und JTabbedPane AWT, Swing, JavaFX & SWT 8
G JSplitPane - setOneTouchExpandable AWT, Swing, JavaFX & SWT 3
N JSplitPane soll JFrame resizen AWT, Swing, JavaFX & SWT 4
S Eine Art JInternalFrame in JSplitPane AWT, Swing, JavaFX & SWT 3
S SWT <=> JSplitPane AWT, Swing, JavaFX & SWT 4
M Ansichtswechsel in JSplitPane AWT, Swing, JavaFX & SWT 2
M JSplitPane und JList aktualisieren AWT, Swing, JavaFX & SWT 4
H JSplitPane lässt sich nicht über rechtes Panel ziehen AWT, Swing, JavaFX & SWT 2
T 3-teiliges JSplitPane AWT, Swing, JavaFX & SWT 13
B BorderLayout/JSplitPane Problem beim Ausrichten AWT, Swing, JavaFX & SWT 5
B Component in JSplitPane aktualisieren AWT, Swing, JavaFX & SWT 2
J JSplitPane reagiert nicht auf SetDeviderLocation() AWT, Swing, JavaFX & SWT 2
J JSplitPane Felder ansprechen AWT, Swing, JavaFX & SWT 3
C JSplitPane / JTabbedPane Größe AWT, Swing, JavaFX & SWT 3
M JSplitPane Divider setzen? AWT, Swing, JavaFX & SWT 3
G Weiches automatisches verschieben eines JSplitPane-Dividers? AWT, Swing, JavaFX & SWT 3
T JSplitPane immer gleich groß machen AWT, Swing, JavaFX & SWT 3
A problem mit update nach event, JSplitpane spinnt AWT, Swing, JavaFX & SWT 2
D Probleme bei JSplitPane mit JScrollPanes und Panels. AWT, Swing, JavaFX & SWT 4
R JSplitPane problem AWT, Swing, JavaFX & SWT 3
R JSplitPane setRightComponent AWT, Swing, JavaFX & SWT 2
O JSplitpane . AWT, Swing, JavaFX & SWT 9
R JSplitPane (linke und rechte Seite) AWT, Swing, JavaFX & SWT 4
T JSplitPane & JTable AWT, Swing, JavaFX & SWT 4
M JSplitPane Listener AWT, Swing, JavaFX & SWT 2
V JTable in JSplitPane? Wie AWT, Swing, JavaFX & SWT 2
FrittenFritze JTree, LazyLoading und "Rückwärtstraversion" AWT, Swing, JavaFX & SWT 3
J Falsches Rendern durch JCheckBox in eigenem JTree AWT, Swing, JavaFX & SWT 6
F jTree und das Model aus einer eigenen Klasse AWT, Swing, JavaFX & SWT 1
F Jtree aus Klasse mit Arraylisten AWT, Swing, JavaFX & SWT 1
A Swing JList zu JTree AWT, Swing, JavaFX & SWT 11
richis-fragen JTree +/- verschwidet wenn Knoten keine Kinder hat... AWT, Swing, JavaFX & SWT 6
RalleYTN Modaler Dialog und JTree Node mit sehr... seeeeehr vielen Elementen AWT, Swing, JavaFX & SWT 6
Z Swing JTree DefaultMultipleTreeNode Repräsentation ändern AWT, Swing, JavaFX & SWT 1
Z Swing Drag&Drop zwischen JTable und JTree AWT, Swing, JavaFX & SWT 4
W Swing Anzeigefehler bei JTree AWT, Swing, JavaFX & SWT 1
S Zwei JTree, ein Model, bei Selection im ersten JTree soll der zweite die Inhlate anzeigen AWT, Swing, JavaFX & SWT 2
S JRadioButton und JCheckBox im JTree AWT, Swing, JavaFX & SWT 14
H Swing JTree: Zählt der rootNode mit? AWT, Swing, JavaFX & SWT 2
krgewb Swing JTree - Farbe von nodes ändern AWT, Swing, JavaFX & SWT 4
R JTree behandeln AWT, Swing, JavaFX & SWT 2
E Swing Copy und Paste eines einzelnen Knoten aus einem JTree AWT, Swing, JavaFX & SWT 1
U dynamisches JTree erstellen AWT, Swing, JavaFX & SWT 2
J JTree updaten AWT, Swing, JavaFX & SWT 2
N Swing JTree Problem beim erstellen der Knoten AWT, Swing, JavaFX & SWT 0
H JTree in JScrollPane passt sich nicht an Größe von JPanel an AWT, Swing, JavaFX & SWT 2
T Swing API Frage zu Verzeichnisbäumen und JTree AWT, Swing, JavaFX & SWT 1
T JTree mit Symbolen? AWT, Swing, JavaFX & SWT 8
R Anfängerfrage: Ansichten des JTree AWT, Swing, JavaFX & SWT 1
H Swing JTree Minimumgröße AWT, Swing, JavaFX & SWT 2
F Swing JTree + DiffUtils // Markierung Nodes aufheben AWT, Swing, JavaFX & SWT 2
I JTree wird nicht angezeigt AWT, Swing, JavaFX & SWT 3
M Swing JTree AWT, Swing, JavaFX & SWT 4
M Nodes in JTree nicht anzeigen AWT, Swing, JavaFX & SWT 0
T JTree mit Cloud verbinden AWT, Swing, JavaFX & SWT 0
H JTree Probleme AWT, Swing, JavaFX & SWT 9
F Swing Drag and Drop in JTree aus verschiedenen Listen AWT, Swing, JavaFX & SWT 6
M JButton wird von JTree überdeckt AWT, Swing, JavaFX & SWT 4
J Auf Dateien in JTree zugreifen AWT, Swing, JavaFX & SWT 15
F jTree.startEditingAtPath(path); funktioniert nicht bei eigenem CellEditor? AWT, Swing, JavaFX & SWT 8
D Swing JTree Steuerung AWT, Swing, JavaFX & SWT 11

Ähnliche Java Themen

Neue Themen


Oben