Swing Submenüs im Popup anzeigen

Bruno

Mitglied
Hallo zusammen,

ich versuche, ein Popup-Menü zu generieren, das wiederum aus ausklappbaren Submenüs besteht. Ein Testcode hierzu:
Java:
JDialog test1 = new JDialog();
JPopupMenu test2 = new JPopupMenu();
test2.setLocation(test1.getLocation());
	
JMenu test3 = new JMenu("Hello");
JMenu test4 = new JMenu("World");
		
test3.setEnabled(true);
test4.setEnabled(true);
		
test2.add(test3);
test2.add(test4);
	
JMenuItem test31 = new JMenuItem("Foo");
JMenuItem test41 = new JMenuItem("Bar");
		
test3.add(test31);
test4.add(test41);
		
test2.setVisible(true);
test1.setVisible(true);

Die oberste Ebene ("Hello" und "World") wird eingeblendet, auch mit Pfeilchen rechts, aber an die Untermenüs komme ich nicht ran.

Eine Idee, die mir gerade so durch den Kopf schoss, wäre beim Hovern mit der Maus ein zweites Popup rechts anzustellen.
Wenn es nach dem Schema wie oben ginge, wäre es mir lieber. Bin für jeden Tipp dankbar.

Auf dieser Seite habe ich eine mögliche Lösung gefunden und folgendermaßen modifiziert:
[JAVA=2]final JPopupMenu test2 = new JPopupMenu();

test1.addMouseListener(new MouseAdapter(){
public void mouseReleased(MouseEvent Me){
if(Me.isPopupTrigger()){
test2.show(Me.getComponent(), Me.getX(), Me.getY());
}
}
});[/code]

Geht aber auch nicht! ;(
 
Nachtrag:
Ich habe das zuvor verlinkte Bsp einfach mal so ausgeführt, wie es ist. Dann funktioniert es einwandfrei.
Statt dem
Code:
JFrame
einen
Code:
MouseListener
zuzuweisen, habe ich diesen Part gelöscht und dafür folgende Zeile eingefügt:
Java:
Pmenu.setVisible(true);
Und siehe da: Beim Start erscheint ein Fenster sowie das Popup-Menü, das sich aber auch nicht expandieren lässt.

Kann mir jemand erklären, wo mein Fehler im Ansatz liegt?

Gute Nacht, Bruno
 

Zurück
Oben