您的位置:首页 > 编程语言 > Java开发

Java程序设计 实验5

2012-04-14 17:20 441 查看


/**
作者:wwj
时间:2012/4/13
功能:实习实验所要求的功能
实验要求:
1、如下图编写一个图形用户界面,实现以下功能,源程序保存为Ex5_1.java:
(1)在文本框输入字符串,单击“输入”按钮后,在窗口下方以标签形式显示输出的内容。
(2)通过单选按钮,选择标签文字的字体样式:宋体、隶书、黑体等。
(3)通过复选框,选择标签文字的字形:粗体、斜体等
(4)通过下拉列表,设置标签文字的字号:16、18、20、22、24、26、28、30。
**/

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.font.*;
public class Ex5_1 extends JFrame
{

private JPanel p=new JPanel();			//创建一个面板容器对象
private JLabel label=new JLabel();		//
private JTextField t1=new JTextField(25);
private JButton button1=new JButton("输入");
private JRadioButton r1=new JRadioButton("宋体");
private JRadioButton r2=new JRadioButton("隶书");
private JRadioButton r3=new JRadioButton("黑体");
private ButtonGroup buttonGroup;
private JCheckBox b= new JCheckBox("粗体");
private JCheckBox i= new JCheckBox("斜体");
private JComboBox lbk;
private String font_num[]={"16","18","20","22","24","26","28","30" };

public Ex5_1()
{

Container c = getContentPane();	//创建内容面板对象

//添加文本框组件
p.add(t1);

//添加按钮组件
p.add(button1);
Bhandler h=new Bhandler();
button1.addActionListener(h);

//添加单选按钮组件
buttonGroup = new ButtonGroup();	//创建单选按钮组
r1.setFont(new Font("Serif",Font.PLAIN,14));
r2.setFont(new Font("Serif",Font.PLAIN,14));
r3.setFont(new Font("Serif",Font.PLAIN,14));
buttonGroup.add(r1);	buttonGroup.add(r2);
buttonGroup.add(r3);

rhandler rh = new rhandler();
r1.addItemListener(rh);
r2.addItemListener(rh);
r2.addItemListener(rh);
p.add(r1); p.add(r2); p.add(r3);

//添加复选框组件
b.setFont(new Font("Serif",Font.PLAIN,14));
i.setFont(new Font("Serif",Font.PLAIN,14));
CBHandler cb=new CBHandler();	//创建监听对象
b.addItemListener(cb);	i.addItemListener(cb);	//注册监听对象
p.add(b); p.add(i);

//添加下拉列表组件
lbk = new JComboBox(font_num);	//创建下拉列表对象
lbk.setMaximumRowCount(5);
lbk.setSelectedIndex(0);
lbk.addItemListener(new lbHandler());	//注册监听器
p.add(lbk);

//添加标签组件
p.add(label);

c.add(p);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);	//设置为可见
setSize(400,300);	//设置窗口大小

}

public static void main(String[] args)
{
Ex5_1 f1=new Ex5_1();
}

//按钮的事件处理
private class Bhandler implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
label.setText("你输入的文字是:"+t1.getText());
}
}

//单选按钮的事件处理
private class rhandler implements ItemListener
{
public void itemStateChanged(ItemEvent event)
{
if(r1.isSelected())	label.setFont(new Font("宋体",Font.PLAIN,20));
else if(r2.isSelected()) label.setFont(new Font("隶书",Font.PLAIN,20));
else label.setFont(new Font("黑体",Font.PLAIN,20));
}
}

//复选框的事件处理
private class CBHandler implements ItemListener
{
private int vb = Font.PLAIN;
private int vi = Font.PLAIN;
public void itemStateChanged(ItemEvent e)
{
if(e.getSource()==b)
vb=b.isSelected()?Font.BOLD:Font.PLAIN;
if(e.getSource()==i)
vi=i.isSelected()?Font.ITALIC:Font.PLAIN;
label.setFont(new Font("Serif",vb+vi,20));
}
}

//下拉列表的事件处理
private class lbHandler implements ItemListener
{
public void itemStateChanged(ItemEvent e)
{
int size=Integer.parseInt(font_num[lbk.getSelectedIndex()]);
if(e.getStateChange()==e.SELECTED)
label.setFont(new Font("Serif",label.getFont().getStyle(),size));

}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: