Как я могу получить JLabel
, отображающий строку HTML, которая выглядит серой (это поведение JLabel
s, которые не отображают текст HTML)? Есть ли другой способ, чем собственно сам изменить цвет, изменив свойство foreground
?
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
Большое спасибо за все ваши ответы. Из того, что я понял, кажется, что Java не поддерживает автоматическое выделение из JLabel
s, когда они используют текст HTML. Решение Сураджа наиболее близко подошло к исправлению с учетом ограничений.
Я, однако, попробовал другой готовый подход, где я поместил текст HTML JLabel
внутри внутреннего JPanel
и сделал это:
mInnerPanel.setEnabled(shouldShow); //shouldShow is a boolean value
Что не сработало. Любые предложения по этому пути?
РЕДАКТИРОВАТЬ: Добавлено внедренное решение .