2010-12-08 16 views
8

http://java.sun.com/products/jfc/tsc/articles/mixing/index.html Hinweise, wie man JPopupMenu s Schwergewicht machen. Nur setzen Sie die Eigenschaft:Making JPopupMenu Untermenüs Schwergewicht

setLightWeightPopupEnabled(false); 

Es funktioniert gut, aber wenn ich Untermenü im Popup habe, umgesetzt als JMenu Artikel, sie scheinen nicht das Pop-up ist schwer, Gewicht zu erben. JMenu hat keine Methode, sich Schwergewicht zu machen, und die Verwendung eines AWT Menu ist keine Option, da ich Swing-Elemente in sie einfügen möchte.

Wie mache ich die Untermenüs auch Schwergewicht?

+0

+1 schön, das hat mir Zeit gespart. – KJW

+0

Alter, es scheint, dass Ihr Update eine vollkommen gültige Antwort auf Ihre Frage ist, also verschieben Sie das Update, um zu antworten, und markieren Sie die Antwort als akzeptiert, es wird das Internet (und insbesondere Stackoverflow) ein wenig besser machen. – Riduidel

+0

Gute Idee, fertig! –

Antwort

2

Es scheint ein Swing-Bug zu sein. Einstellen der globalen Eigenschaft

JPopupMenu.setDefaultLightWeightPopupEnabled(false); 

funktioniert! Auch das Untermenü JMenu Artikel gehen schwer, wie sie sollten. Offensichtlich sollte die per-instance-Methode setLightWeightPopupEnabled ähnlich funktionieren, tut es aber nicht.

Ich habe einen Fehler (Bug Id: 7005406) auf diesem, aber ich lasse die Frage hier nur für den Fall, dass jemand anderes darauf stoßen. Die Lösung besteht also darin, die globale Einstellung zu verwenden, bis der Fehler behoben ist.