Come ottengo un JLabel
che visualizza una stringa HTML che appare in grigio (che è il comportamento di JLabel
s che non visualizza testo HTML)? Esiste un altro modo di modificare effettivamente il colore modificando la proprietà foreground
?JLabel non è disattivato quando disabilitato, quando viene visualizzato il testo HTML
JLabel label1 = new JLabel("Normal text");
JLabel label2 = new JLabel("<html>HTML <b>text</b>");
// Both labels are now black in colour
label1.setEnabled(false);
label2.setEnabled(false);
// label1 is greyed out, label2 is still black in colour
La ringrazio molto per tutte le vostre risposte. Da quanto ho capito, sembra che Java non supporti l'ingrigimento automatico di JLabel
s quando usano il testo HTML. Suraj's solution è arrivato più vicino alla correzione considerando le limitazioni.
ho però provato un diverso out-of-the approccio di dialogo, in cui ho messo il testo HTML JLabel
s all'interno di un interno JPanel
e ha fatto questo:
mInnerPanel.setEnabled(shouldShow); //shouldShow is a boolean value
che non ha funzionato. Qualche suggerimento per questo modo?
MODIFICA: aggiunto implemented solution.
si dovrebbe modificare la tua domanda originale non inviare un altro – Lombo
@Lombo, il mio male, non mi rendevo conto - eliminato il quello precedente ora. – bguiz
Sembra corretto in Java 1.7. – SystemParadox