Font.createFont(..)设置颜色和大小(java.awt.Font)

时间:2013-05-26 17:05:54

标签: java fonts awt

我想使用TTF文件创建一个新的Font对象。创建一个Font对象非常简单,但我不知道如何设置颜色和大小,因为我找不到它的方法?

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

4 个答案:

答案 0 :(得分:22)

字体没有颜色;只有在使用字体时,您才能设置组件的颜色。例如,使用JTextArea时:

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

根据this link,createFont()方法创建一个点大小为1且样式为PLAIN的新Font对象。因此,如果要增加Font的大小,则需要执行以下操作:

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

答案 1 :(得分:5)

好吧,一旦你有了字体,就可以调用deriveFont。例如,

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

将字体的样式更改为粗体,将其大小更改为12磅。

答案 2 :(得分:0)

因为字体没有颜色,所以需要一个面板来制作背景色,并为JLabel(如果使用JLabel)和JPanel都提供前景色,以生成字体颜色,如下例所示:

JLabel lblusr = new JLabel("User name : ");
lblusr.setForeground(Color.YELLOW);

JPanel usrPanel = new JPanel();
Color maroon = new Color (128, 0, 0);
usrPanel.setBackground(maroon);
usrPanel.setOpaque(true);
usrPanel.setForeground(Color.YELLOW);
usrPanel.add(lblusr);

标签的背景颜色为栗色,字体颜色为黄色。

答案 3 :(得分:-2)

要设置字体的颜色,必须先执行以下操作来初始化颜色:

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表示字体的大小。