Java程序设计 实验5

来源:互联网 发布:罪恶都市车辆数据 编辑:程序博客网 时间:2024/06/05 03:25

 

/**作者: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));}}}


 

原创粉丝点击