java中字符串的字体设置

时间:2011-02-21 04:55:57

标签: java string fonts properties console

我可以在java中为字符串设置字体属性吗。

4 个答案:

答案 0 :(得分:9)

字体属性在您正在使用的GUI对象(JLabel等)中的Font对象上设置,而不是在String本身上。

编辑:

如果要向控制台添加格式,则必须在String内嵌入格式。为了使我的输出变为粗体,我需要执行以下操作:

 System.out.println((char)27 +"[1m testing bold");

(char) 27是一个转义序列,[后跟一组;个不同格式类型的分隔值(见下文),后跟m 。你需要玩这个。在我的Mac上,命令提示符以粗体显示,因为在我退出之前我没有重置为正常([0m)。

顺便提一下,此信息已从here解除。 一些属性:

0 Normal (clear all)
1 bold
2 dim
4 underline
5 blink
7 reverse
8 blank
9 overstrike
22 normal intensity (cancel bold and blank)
24 underline off
25 blink off
27 reverse off
28 blank off
29 overstrike off
30 black
31 red
32 green
33 yellow
34 blue
35 magenta
36 cyan
37 white
40 black background
41 red background
42 green background

答案 1 :(得分:2)

String没有字体,因为它与显示它的方式完全分开。 字体与您用于向用户呈现字符串的用户界面组件相关,如何设置它将取决于这些用户界面组件。

答案 2 :(得分:1)

我找到了逃避“\ 033”here

的另一种方法

另外,我想要关于“找到here的akf属性图表的官方属性列表” - 在“SGR(选择图形再现)参数”表中引用

我想补充一点,在eclipse控制台输出中,这些都不适合我。我认为这是不可能的?

答案 3 :(得分:0)

您可以使用AttributedString。以下是一些示例:JavaDocExamples

Font font = new Font("LucidaSans", Font.PLAIN, 14);
AttributedString messageAS = new AttributedString(textMessage);
...
messageAS.addAttribute(TextAttribute.FONT, font);
AttributedCharacterIterator messageIterator = messageAS.getIterator();
FontRenderContext messageFRC = graphics2D.getFontRenderContext();
LineBreakMeasurer messageLBM = new LineBreakMeasurer(messageIterator, messageFRC);