2010-12-08 10 views
8

http://java.sun.com/products/jfc/tsc/articles/mixing/index.html doradztwo, jak wykonać ciężki ciężarek JPopupMenu. Wystarczy ustawić właściwość:Tworzenie podmenu JPopupMenu o wadze ciężkiej

setLightWeightPopupEnabled(false); 

to działa dobrze, ale jeśli mam podmenu w popup, realizowanego jako JMenu przedmiotów, nie wydaje się, aby odziedziczyć popup za duży ciężar. JMenu nie ma metody, dzięki której stanie się ciężki, a używanie AWT Menu nie jest opcją, ponieważ chcę umieścić w nim elementy Swing.

Jak utworzyć podmenu w wadze ciężkiej?

+0

+1 ładny, to zaoszczędziło mi czas. – KJW

+0

Stary, wygląda na to, że twoja aktualizacja jest całkowicie poprawną odpowiedzią na twoje pytanie, więc przenieś aktualizację, by odpowiedzieć, i oznacz odpowiedź jako zaakceptowaną, sprawi to, że internet (a bardziej szczególnie Stackoverflow) będzie trochę lepszy. – Riduidel

+0

Dobry pomysł, gotowe! –

Odpowiedz

2

Wygląda jak bug Swing. Ustawianie właściwości globalnej

JPopupMenu.setDefaultLightWeightPopupEnabled(false); 

działa! Podmenu JMenu przedmioty idą ciężko, tak jak powinny. Oczywiście metoda pojedynczej instancji setLightWeightPopupEnabled powinna działać podobnie, ale nie działa.

Złożyłem na ten temat błąd (Bug Id: 7005406), ale pozostawiam tutaj pytanie na wypadek, gdyby ktoś inny wpadł na to. Rozwiązaniem jest więc użycie globalnego ustawienia, dopóki błąd nie zostanie naprawiony.

Powiązane problemy