Hallo zusammen,
habe ein etwas merkwürdiges Problem.
Ich habe in einem SplitPane links einen JTree und rechts ein Fenster, dessen Inhalte sich beim Klick auf den Tree entsprechend ändern.
Nun ist es so, dass beim Klick des letzten Nodes nicht immer die mousePressed-Methode ausgeführt wird (also sich das Fenster rechts nicht ändert).
Das verwirrende ist, dass es manchmal klappt und manchmal nicht.
Klicke ich im Tree zwischen den Nodes hin und her, geht es manchmal und manchmal eben nicht.
Das Problem habe ich lediglich beim untersten Node.
Hoffe ihr seht evtl. wo der Fehler liegt, weil ich seit Tagen nicht mehr weiterkomme und mir die Ideen ausgehen.
Viele Dank!
habe ein etwas merkwürdiges Problem.
Ich habe in einem SplitPane links einen JTree und rechts ein Fenster, dessen Inhalte sich beim Klick auf den Tree entsprechend ändern.
Nun ist es so, dass beim Klick des letzten Nodes nicht immer die mousePressed-Methode ausgeführt wird (also sich das Fenster rechts nicht ändert).
Das verwirrende ist, dass es manchmal klappt und manchmal nicht.
Klicke ich im Tree zwischen den Nodes hin und her, geht es manchmal und manchmal eben nicht.
Das Problem habe ich lediglich beim untersten Node.
Java:
// Erstellung des Report-Trees
final DefaultMutableTreeNode rootReport = new DefaultMutableTreeNode(
new ToolTip ("Report > Verwaltung", "Reportverwaltung"));
DefaultMutableTreeNode fluggastInfo = new DefaultMutableTreeNode(
new ToolTip ("Fluggastinformationen", "Berichterstellung der Fluggastinformationen"));
DefaultMutableTreeNode sitzBelegung = new DefaultMutableTreeNode(
new ToolTip ("Sitzbelegungen", "Berichterstellung der Sitzbelegungen"));
rootReport.add(fluggastInfo);
rootReport.add(sitzBelegung);
final JTree tree2 = new JTree(rootReport);
tree2.setCellRenderer( new Renderer() );
ToolTipManager.sharedInstance().registerComponent( tree2 );
final JScrollPane scrollTree2 = new JScrollPane(tree2);
leftp.add(scrollTree2);
public ReportShowPassengerinformation rpi;
public ReportShowSeatingPlan rsp;
rpi = new ReportShowPassengerinformation(this);
rsp = new ReportShowSeatingPlan(this);
rightp.add(rsp, "SeatPlanR");
rightp.add(rpi, "PassengerPlanR");
MouseListener m2 = new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
int selRow = tree.getRowForLocation(e.getX(), e.getY());
// TreePath selPath = tree.getPathForLocation(e.getX(), e.getY());
if(selRow != -1) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree2
.getLastSelectedPathComponent();
if (node == null) {
return;
} else if (node.toString().equals("Report > Verwaltung")) {
((CardLayout) rightp.getLayout()).show(rightp, "InfoTextReport");
setTitle("Flugbuchungsmanagementsystem");
} else if (node.toString().equals("Sitzbelegungen")) {
((CardLayout) rightp.getLayout()).show(rightp, "SeatPlanR");
setTitle("Sitzbelegung von Flügen");
} else if (node.toString().equals("Fluggastinformationen")) {
((CardLayout) rightp.getLayout()).show(rightp, "PassengerPlanR");
setTitle("Fluggastinformationen");
}
}
}
};
tree2.addMouseListener(m2);
Hoffe ihr seht evtl. wo der Fehler liegt, weil ich seit Tagen nicht mehr weiterkomme und mir die Ideen ausgehen.
Viele Dank!