jak ustawić setEditabled(false) dla etykiet z html'em ?

0

Mój problem wygląda następująco:
Pisze sobie programik, w którego z jednym z okien mam JComboBox. W zależności od tego co wybrano prezentuję wzór matematyczny pobrany z pliku jako ImageIcon. Oczywiście zawiera on symbole z indeksami dolnymi.
Poniżej mam etykiety typu: Lw, b, N , Lf, Kf , itp. oraz przyporządkowane im JSpinner'y. Tutaj w zależności od tego jaki wzór wybrano poszczególne JSpinner'y i ich JLabel'y są ustawiane przez setEditable(false) jeśli konkretny wzór ich nie zawiera i nie wymagam podania ich wartości.

No i właśnie problem jest tego typu, że nie działa w ActionListenerze JComboBox'a: setEditable(false) dla etykiet utworzonych w ten sposób:

MK_Lf_L = new JLabel("<html>L<sub>f</sub><html>");
add(MK_Lf_L, new GBC(6,0,1,1).setAnchor(GBC.CENTER).setInsets(5).setWeight(100, 100));

Ktoś ma jakiś pomysł jak to przeskoczyć ?

P.S. naturalnie działa dla zwykłych etykiet.

0

Trudno zgadnąć o co Ci chodzi. Obiekt typu JLabel jest zawsze nieedytowalny. Chodzi Ci o to, żeby w JSpinnerze użytkownik nie mógł pisać?

0

no chodzi o to zeby nie byl aktywny dany JSpinner (setEditabled(false) robi go szarego i 'nieedytowalnego' - i wlasnie o to chodzilo) oraz zeby byla szara etykieta umieszczona obok tego Jspinnera (tutaj setEditabled(false) dziala mi niestety tylko dla etykiet ktore nie zawieraja indeksow dolnych )

Jak zrobić żeby wszystkie etykiety robiły się szare?

0

Innego sposobu nie ma. Inna sprawa ze renderowanie html w swing jest kiepskie i mialem z tym jzu tez problemy - to co widzisz to pewnie jakis bug albo ograniczenie i tyle.

1 użytkowników online, w tym zalogowanych: 0, gości: 1