Hi,
ich habe eine Hauptklasse (Haupt.java) die durch ein JSplitpane in zwei Bereiche aufgeteilt ist.
Im linken Bereich befindet sich ein JTree, im rechten soll durch Klick eines bestimmten Blattes des Trees ein Panel aus einer externen Klasse (Passagier.java) angezeigt werden.
Zum Teil klappt das auch, aber der rechte Bereich wird nicht komplett angezeigt.
Hier die entprechenden Codes:
Haupt
Passagier-Klasse
Vor lauter Code seh ich den Wald nicht mehr.
Ich hoffe ihr könnt den Fehler finden (im Gegensatz zu mir).
Viele Dank!!
ich habe eine Hauptklasse (Haupt.java) die durch ein JSplitpane in zwei Bereiche aufgeteilt ist.
Im linken Bereich befindet sich ein JTree, im rechten soll durch Klick eines bestimmten Blattes des Trees ein Panel aus einer externen Klasse (Passagier.java) angezeigt werden.
Zum Teil klappt das auch, aber der rechte Bereich wird nicht komplett angezeigt.
Hier die entprechenden Codes:
Haupt
Java:
public class Haupt extends JFrame{
public static void Haupt() {
final JFrame frame = new JFrame("Editor");
frame.setSize(800,600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
...
// Methode: Externes Panel soll im rechten SplitPane angezeigt werden
JPanel pNeu = new JPanel();
Passagier neuDaten = new Passagier();
pNeu.add(neuDaten);
pNeu.setVisible(true);
// m_sp ist das SplitPane
m_sp.setDividerLocation(200);
m_sp.setRightComponent(pNeu);
frame.pack();
frame.setVisible(true);
frame.getContentPane().add(m_sp, BorderLayout.CENTER);
// frame.add(mainPanel);
frame.setSize(800, 600);
frame.setLocationRelativeTo(null);
Passagier-Klasse
Java:
public class Passagier extends JPanel {
public Passagier() {
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
String[][] rowData = {
{ "Thomas", "Mann", "Diestr. 6", "Herrenberg", "71111"},
{ "Peter", "Lersch", "Wostr. 12", "Köln", "12345"},
{ "Reinhold", "Messner", "Wannstr. 23", "Stuttgart", "71021"},
{ "Aspi", "Rin", "Kopfstr. 1", "Aschaffenburg", "55437"},
{ "Niko", "Laus", "Bartstr. 1", "Böblingen", "71034"},
};
String[] columnNames = {
"Vorname", "Nachname", "Straße", "Ort", "PLZ",
};
final JTable table = new JTable( rowData, columnNames );
table.setAutoCreateRowSorter(true);
constraints.gridx = 0;
constraints.gridy = 2;
constraints.gridwidth = 3;
// constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.weighty = 1.0;
table.setPreferredScrollableViewportSize(new Dimension(550,200));
table.setVisible(true);
this.add( new JScrollPane(table), constraints);
JButton passagierAnlegen = new JButton("Anlegen");
constraints.gridx = 0;
constraints.gridy = 3;
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);
}
}
Vor lauter Code seh ich den Wald nicht mehr.
Ich hoffe ihr könnt den Fehler finden (im Gegensatz zu mir).
Viele Dank!!
Zuletzt bearbeitet: