窗体字体大小"/>
java窗体字体大小
实训要求:编写一个窗体程序,能够对文本区中的文字设置字体和大小。
代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FontChange extends JFrame implements ItemListener {
JComboBox fontName;
JComboBox fontSize;
JTextArea txtContent;
Font font;
final String[] fontArr;
final String strArr="老毕老王是影帝,\n"
+"老马不服其演技。\n"
+"没日没夜秀才艺,\n"
+"不知王毕已胜利。\n";
final String[] sizeArr={"8","9","10","12","14","16","18","20",
"24","28","32","36","40","44","48","54","60","66","72","80","88","1000"
};
public FontChange(){
super("改变字体");
txtContent=new JTextArea();
txtContent.setText(strArr);
JScrollPane jsp=new JScrollPane(txtContent);
GraphicsEnvironment env=GraphicsEnvironment
.getLocalGraphicsEnvironment();
fontArr=env.getAvailableFontFamilyNames();
fontName=new JComboBox(fontArr);
fontSize=new JComboBox(sizeArr);
fontSize.setPreferredSize(new Dimension(80,27));
fontName.addItemListener(this);
fontSize.addItemListener(this);
fontName.setSelectedItem("宋体");
fontSize.setSelectedItem("16");
FlowLayout layout=new FlowLayout(FlowLayout.CENTER,40,5);
JPanel pan=new JPanel(layout);
pan.add(fontName);
pan.add(fontSize);
Container c=this.getContentPane();
c.add(pan, BorderLayout.NORTH);
c.add(jsp,BorderLayout.CENTER);
this.setSize(1900,1000);
this.setResizable(false);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void itemStateChanged(ItemEvent e){
String s=(String)fontName.getSelectedItem();
int n=Integer.parseInt((String)fontSize.getSelectedItem());
font=new Font(s,Font.PLAIN,n);
txtContent.setFont(font);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new FontChange();
}
}
小结:终于是接触到图形用户界面了,这些东西不难但是很繁杂,要多敲,多练才能掌握。
更多推荐
java窗体字体大小
发布评论