设置jtextarea的字体名称,样式和大小

时间:2016-05-21 05:24:47

标签: java swing fonts

我弹出一个为用户选择字体。我已将它们列在3 JList中。从3个列表中,他们将选择"字体系列","字体大小"和#34;字体样式"。 我有这段代码:

Fonts f= new Fonts();
int result=JOptionPane.showConfirmDialog(null,f,"Fonts",JOptionPane.OK_CANCEL_OPTION,JOptionPane.PLAIN_MESSAGE);
if(result==JOptionPane.OK_OPTION){
    String fontium=f.getFonts();
    int size=Integer.parseInt(f.getSizes());
    String style=f.getStyle();
    System.out.println("you selected \n Font:" + fontium + "\n size:" + size + "\n style:" + style);
Font font=new Font(fontium, style, size);
textArea1.setFont(font);

}

我遇到的问题是字符串,但样式接受int。我该如何解决这个问题。

1 个答案:

答案 0 :(得分:2)

我真的不知道Fonts类的作用以及style值返回的内容。

这些可能有两种结果。

  • 如果style值返回"0""1""2",那么您可以将值转换为String,如下所示:

    String style=f.getStyle();
    int fontStyle = Integer.parseInt(style);
    
  • 如果样式值返回styleName,例如"bolditalic""italic""bold""plain",那么您需要像这样控制值

    int fontStyle = 0;
    if (style.equals("bolditalic")) {
        fontStyle = Font.BOLD | Font.ITALIC;
    } else if (style.equals("italic")) {
        fontStyle = Font.ITALIC;
    } else if (style.equals("bold")) {
        fontStyle = Font.BOLD;
    } else if (style.equals("plain")) {
        fontStyle = Font.PLAIN;
    }
    
相关问题