J
Java-Freak
JPanel - Neues Panel aus Panel aufrufen
Hallo,
folgendes ist umgesetzt:
Habe ein JFrame als Grundgerüst.
Darin befindet sich mit mittels BorderLayout verteilt:
JMenuBar
WEST - MenuePanel
CENTER - jScrollPane1
Unterscheidliche Daten werden auf/über Panels in eigenen Klassen erzeugt.
Das MenuePanel beinhaltet eine eigene Menüstruktur (Linksliste). Über die JLabels rufe ich durch ActionListener die einzelnen Panels auf.
So wird z. Bsp die Klasse/Panel Stammdaten auf der jScrollPane1 (im Centerbereich) angezeigt/aufgerufen.
Auszug aus dem MenuePanel:
JLabel
ActionListener - MouseClicked
Das klappt soweit ganz gut und ich kann die einzelnen Panels/Klassen aufrufen und zur weiteren Bearbeitung anzeigen lassen.
Mein Problem dabei ist, das ich z.Bsp. im Stammdaten-Panel einen Button habe der ein neues Panel auf der jScrollPane1 aufrufen soll/muss auf dem sich auch das stammdatenPanel befindet. Das funktioniet nicht wirklich, bzw. weiß ich nicht wie ich das ausführen kann.
Ich befinde mich ja (wie schon gesagt) in einer eigenen Panel-Klasse und nicht auf dem WEST - MenuePanel.
Heist ich weiß nicht wie ich an dieser Stelle das aufzurufende Panel auf die jScrollPane1 setzen soll/kann.
Das aktuelle Panel kann ich ja leicht mit this.setVisible(false); ausblenden, wie rufe ich jetzt allerdings das neue Panel auf ?
Hallo,
folgendes ist umgesetzt:
Habe ein JFrame als Grundgerüst.
Darin befindet sich mit mittels BorderLayout verteilt:
JMenuBar
WEST - MenuePanel
CENTER - jScrollPane1
Unterscheidliche Daten werden auf/über Panels in eigenen Klassen erzeugt.
Das MenuePanel beinhaltet eine eigene Menüstruktur (Linksliste). Über die JLabels rufe ich durch ActionListener die einzelnen Panels auf.
So wird z. Bsp die Klasse/Panel Stammdaten auf der jScrollPane1 (im Centerbereich) angezeigt/aufgerufen.
Auszug aus dem MenuePanel:
JLabel
Code:
jLabelStammdaten.setText("Stammdaten");
jLabelStammdaten.setBorder(javax.swing.BorderFactory.createEmptyBorder( 4, 1, 2, 1));
jLabelStammdaten.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {LabelStammdatenMouseClicked(evt);} );
ActionListener - MouseClicked
Code:
private void jLabelStammdatenMouseClicked(java.awt.event.MouseEvent evt) {
ViewStammdaten stammdaten = new ViewStammdaten();
jScrollPane1.setViewportView(stammdaten);
stammdaten.setVisible(true);
}
Das klappt soweit ganz gut und ich kann die einzelnen Panels/Klassen aufrufen und zur weiteren Bearbeitung anzeigen lassen.
Mein Problem dabei ist, das ich z.Bsp. im Stammdaten-Panel einen Button habe der ein neues Panel auf der jScrollPane1 aufrufen soll/muss auf dem sich auch das stammdatenPanel befindet. Das funktioniet nicht wirklich, bzw. weiß ich nicht wie ich das ausführen kann.
Ich befinde mich ja (wie schon gesagt) in einer eigenen Panel-Klasse und nicht auf dem WEST - MenuePanel.
Heist ich weiß nicht wie ich an dieser Stelle das aufzurufende Panel auf die jScrollPane1 setzen soll/kann.
Das aktuelle Panel kann ich ja leicht mit this.setVisible(false); ausblenden, wie rufe ich jetzt allerdings das neue Panel auf ?
Zuletzt bearbeitet von einem Moderator: