Настройки шрифта для строк в Java - PullRequest
2 голосов
/ 21 февраля 2011

Могу ли я установить свойства шрифта для строки в Java.

Ответы [ 4 ]

9 голосов
/ 21 февраля 2011

Свойства шрифта устанавливаются для объекта Font в используемом вами объекте GUI (JLabel и т. Д.), А не для самого String.

EDIT:

Если вы хотите добавить форматирование в консоль, вам придется встроить форматирование в сам String. Для того чтобы мой вывод был жирным, мне нужно было сделать следующее:

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

(char) 27 является escape-последовательностью, за [ следует набор ; разделенных значений для различных типов форматирования (см. Ниже), за которым следует m. Вам нужно будет поиграться с этим. На моем Mac командная строка продолжалась жирным шрифтом, так как я не восстановил нормальное состояние ([0m) до выхода.

Эта информация, кстати, была взята с здесь . некоторые атрибуты:

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
2 голосов
/ 21 февраля 2011

Строка не имеет шрифта, так как она полностью отделена от любого способа ее отображения. Шрифты связаны с компонентами пользовательского интерфейса, которые вы используете для представления String своим пользователям, как его установить, будет зависеть от этих компонентов пользовательского интерфейса.

1 голос
/ 02 января 2015

Я нашел другой способ избежать "\ 033" здесь

Кроме того, я хотел получить официальный список атрибутов в отношении "таблицы атрибутов akf, которую я нашел здесь - указано в таблице «Параметры SGR (Выбор графического представления)»

Я хотел бы добавить, что ни один из них не работал для меня при выводе консоли eclipse. Я так понимаю, это невозможно?

0 голосов
/ 25 марта 2014

Вы можете использовать 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...