Font.createFont(..) установить цвет и размер (java.awt.Font)

Я хотел бы создать новый объект Font, используя TTF файл. Очень просто создать объект Font, но я не знаю, как установить цвет и размер, потому что я не могу найти для него способ?

InputStream is = new FileInputStream("helvetica.ttf");
Font helvetica = Font.createFont(Font.TRUETYPE_FONT, is);

Ответ 1

Шрифт не имеет цвета; только при использовании шрифта вы можете установить цвет компонента. Например, при использовании JTextArea:

JTextArea txt = new JTextArea();
Font font = new Font("Verdana", Font.BOLD, 12);
txt.setFont(font);
txt.setForeground(Color.BLUE);

В соответствии с этой ссылкой метод createFont() создает новый объект Font с размером точки 1 и стилем PLAIN. Итак, если вы хотите увеличить размер шрифта, вам нужно сделать это:

 Font font = Font.createFont(Font.TRUETYPE_FONT, new File("A.ttf"));
 return font.deriveFont(12f);

Ответ 2

Хорошо, если у вас есть свой шрифт, вы можете вызвать deriveFont. Например,

helvetica = helvetica.deriveFont(Font.BOLD, 12f);

Изменяет стиль шрифта на полужирный, а его размер - на 12 точек.

Ответ 3

Чтобы установить цвет шрифта, вы должны сначала инициализировать цвет, выполнив следующее:

Color maroon = new Color (128, 0, 0);

Как только вы это сделали, вы затем положите:

Font font = new Font ("Courier New", 1, 25); //Initializes the font
c.setColor (maroon); //Sets the color of the font
c.setFont (font); //Sets the font
c.drawString ("Your text here", locationX, locationY); //Outputs the string

Примечание: 1 представляет тип шрифта, и это можно использовать для замены Font.PLAIN, а 25 - размер шрифта.