Hallo,
ich habe ein Formular (JFrame) erstellt. Auf diesem Formular ist ein JTree, dem ich einen TreeSelectionListener (eigene Klasse) hinzugefügt habe.
Den TreeSelectionListener habe ich wie folgt hinzugefügt:
Der Listener sieht so aus:
Das ganze funktioniert auch einwandfrei. Aber nun möchte ich node.getID() wieder im MainForm nutzen, um damit einen JInternalFrame per ID aufzurufen (ich hoffe das ist verständlich geschrieben).
Den JInternalFrame rufe ich so auf:
Wie ist denn der richtige Weg um die Werte aus dem Listener wieder an mein Formular zurückzugeben?
Oder soll ich den JInternalFrame im TestTreeSelectionListener erstellen (aber dann habe ich keinen Zugriff auf "desktopPane")?
Habt Ihr einen Lösungsvorschlag für mich oder einen Link in dem dieses Prinzip erklärt wird?
Vielen dank,
Reinhard
ich habe ein Formular (JFrame) erstellt. Auf diesem Formular ist ein JTree, dem ich einen TreeSelectionListener (eigene Klasse) hinzugefügt habe.
Den TreeSelectionListener habe ich wie folgt hinzugefügt:
Code:
// MainForm
TestTreeSelectionListener treeSelectionListener = new TestTreeSelectionListener();
tree.addTreeSelectionListener(treeSelectionListener);
Der Listener sieht so aus:
Code:
public class TestTreeSelectionListener implements TreeSelectionListener {
public void valueChanged(TreeSelectionEvent e) {
TreePath treePath = e.getNewLeadSelectionPath();
TestTreeNode node = (TestTreeNode)treePath.getLasthPathComponent();
System.out.println("ID: " + node.getID()); // Enthält selektierte ID für einen JInternalFrame
}
}
Das ganze funktioniert auch einwandfrei. Aber nun möchte ich node.getID() wieder im MainForm nutzen, um damit einen JInternalFrame per ID aufzurufen (ich hoffe das ist verständlich geschrieben).
Den JInternalFrame rufe ich so auf:
Code:
JInternalFrame testFrame = null;
testFrame = DesktopPaneFrameFactory.getFrameInstance(node.getID()); // Die ID fehlt mir hier
if(testFrame != null) {
MainForm.this.desktopPane.add(testFrame);
}
Wie ist denn der richtige Weg um die Werte aus dem Listener wieder an mein Formular zurückzugeben?
Oder soll ich den JInternalFrame im TestTreeSelectionListener erstellen (aber dann habe ich keinen Zugriff auf "desktopPane")?
Habt Ihr einen Lösungsvorschlag für mich oder einen Link in dem dieses Prinzip erklärt wird?
Vielen dank,
Reinhard