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)