java – 在jdialog框中格式化文本

我有一个JOptionPane:

JOptionPane.showMessageDialog(null, text);

文字是一个刺痛:

String text = "Hello world."

我想要做的是改变文本的颜色,特别是单个单词,让我们说’你好’.所以我试过的是:

String t1 = "Hello";
String t2 = "world."
Font serifFont = new Font("Serif", Font.BOLD, 12);
AttributedString as = new AttributedString(t1);
as.addAttribute(TextAttribute.FONT, serifFont); 
as.addAttribute(TextAttribute.FOREGROUND, Color.red);


JOptionPane.showMessageDialog(null, as+t2);

我不熟悉attributiontext(),这不会工作.它这样做:

“java.text.AttributedString@479c479cworld”

我缺少一步吗?这不是正确的方法吗?有什么建议么?

解决方法:

应该可以使用html来解决这个问题,即

String t = "<html><font color=#ffffdd>Hello</font> world!";

有关详细信息,请参阅http://docs.oracle.com/javase/tutorial/uiswing/components/html.html.

上一篇:在Android中支持使用OpenType字体的复杂文本布局


下一篇:python – 为什么Tkinter中字符串像素的计算宽度和高度在平台之间有所不同?