Как установить цвет метки (цветной текст) в Java?


Как установить цвет текста метки?

myLabel.setText("Text Color: Red");
myLabel.???

могу я иметь 2 отдельно цвета в одном ярлыке?

например здесь:

The "Text Color:" быть черным и "Red" быть красным.

6 53

6 ответов:

конечно. Чтобы установить цвет переднего плана, просто использовать label.setForeground(Color.RED).

для двухцветного вопроса: вы могли бы, например, использовать html в вашем label-text:

frame.add(new JLabel("<html>Text color: <font color='red'>red</font></html>"));

производит

enter image description here

другое решение, конечно, использовать два отдельных JLabels, каждый из которых имеет свой цвет.

вы можете установить цвет JLabel, изменив категорию переднего плана:

JLabel title = new JLabel("I love stackoverflow!", JLabel.CENTER);

title.setForeground(Color.white);
JLabel label = new JLabel ("Text Color: Red");
label.setForeground (Color.red);

это должно работать

object.setForeground(Color.green);

*любой цвет вы хотите * объект, объявленный ранее

просто хотел добавить к тому, что @aioobe упоминалось выше...

в этом подходе вы используете HTML для цветового кода вашего текста. Хотя это один из наиболее часто используемых способов цветового кодирования текста метки, но это не самый эффективный способ сделать это.... учитывая тот факт, что каждая метка приведет к разбору HTML, рендерингу и т. д. Если у вас есть большие формы пользовательского интерфейса для отображения, каждая миллисекунда считается, чтобы дать хороший пользователь опыт.

вы можете пройти ниже и дать ему попробовать....

Jide OSS (расположенном вhttps://jide-oss.dev.java.net/) - это профессиональная библиотека с открытым исходным кодом с действительно хорошим количеством компонентов Swing, готовых к использованию. У них есть значительно улучшенная версия JLabel под названием StyledLabel. Этот компонент прекрасно решает вашу проблему... смотрите, если их лицензирование с открытым исходным кодом применяется к вашему продукту или не.

этот компонент очень прост в использовании. Если вы хотите увидеть демонстрацию своих компонентов Swing, вы можете запустить их демонстрацию WebStart, расположенную по адресуwww.jidesoft.com (http://www.jidesoft.com/products/1.4/jide_demo.jnlp). все их предложения являются демонстрационными... и лучшая часть заключается в том, что StyledLabel сравнивается с JLabel (HTML и без) с точки зрения скорости! : -)

скриншот теста производительности можно увидеть на (http://img267.imageshack.us/img267/9113/styledlabelperformance.png)

одним из недостатков использования HTML для меток является необходимость написания локализуемой программы (которая должна работать на нескольких языках). У вас будут проблемы с изменением только переводимого текста. Или вам придется поместить весь HTML-код в ваши переводы, что очень неудобно, я бы даже сказал, абсурдно :)

gui_en.свойства:

title.text=<html>Text color: <font color='red'>red</font></html>

gui_fr.свойства:

title.text=<html>Couleur du texte: <font color='red'>rouge</font></html>

gui_ru.свойства:

title.text=<html>Цвет текста: <font color='red'>красная</font></html>