我弹出一个为用户选择字体。我已将它们列在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。我该如何解决这个问题。
答案 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;
}