如何设置标签文字的颜色?
myLabel.setText("Text Color: Red");
myLabel.???
我可以在一个标签中使用两个不同的颜色吗?
例如:
"Text Color:"
的颜色为黑色,"Red"
的颜色为红色。
label.setForeground(Color.RED)
(我可能会使用GridLayout
等将两个标签并排放置,但先尝试以下方法...)
您可以在标签文本中使用html,如下所示:
frame.add(new JLabel("<html>Text color: <font color='red'>red</font></html>"));
这将产生:
您可以通过更改前景色类别来设置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);
*任何你想要的颜色 *先前声明的对象
title.text=<html>Text color: <font color='red'>red</font></html>
gui_fr.properties:
title.text=<html>Couleur du texte: <font color='red'>rouge</font></html>
gui_ru.properties:
title.text=<html>Цвет текста: <font color='red'>красная</font></html>
我想要补充一下@aioobe上面提到的内容...
在这种方法中,您使用HTML来对文本进行着色。虽然这是着色标签文本最常用的方式之一,但并不是最有效的方式...考虑到每个标签都会导致HTML被解析、渲染等。如果您有大型UI表单需要显示,每毫秒都很重要,以提供良好的用户体验。
您可以尝试以下内容...
Jide OSS (位于 https://jide-oss.dev.java.net/)是一个专业的开源库,拥有非常好的Swing组件可供使用。他们有一个名为StyledLabel的改进版JLabel,该组件完美地解决了您的问题... 看看他们的开源许可证是否适用于您的产品。
这个组件非常容易使用。如果您想查看他们的Swing组件演示,请运行位于www.jidesoft.com的WebStart演示(http://www.jidesoft.com/products/1.4/jide_demo.jnlp)。他们所有的产品都有演示...最好的部分是StyledLabel在速度方面与JLabel(带HTML和不带HTML)进行了比较! :-)
性能测试的屏幕截图可在(http://img267.imageshack.us/img267/9113/styledlabelperformance.png)中查看。
myLabel.setForeground(new java.awt.Color(255, 0, 0));
方括号中的数字描述了红、绿、蓝三种颜色值的组合,数值越高,颜色越浅,取值范围为0至255。