1、实验六 图形界面实验日期: 2016 年 6 月 12 日 班级: 软件 1401 学号(后四位):_0127_ 姓名:_程瑞强_ 成绩: 成绩: 一实验目的1. 掌握图形用户界面的设计方法2. 掌握常用的构建用户界面的组件的用法3. 掌握事件操作的原理4. 能够对所设计的用户界面进行事件处理5. 能够应用运算符解决实际小问题6. 进一步熟悉 Java 的面向对象的编程思想二实验题目(前 2 题任选 1 题,第 3,4 题任选 1 题)1.采用图形界面实现两个内容的交换,图形界面如下图 1 所示所示:图 1 内容交换代码如下:package TestChange;import java.awt
2、.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;public class TestChange extends JFrame implements ActionListenerprivate static final long serialVersionUID
3、 = -3684503858019589006L;JPanel panel;JTextField tt1;JTextField tt2;JButton button;public TestChange()this.setTitle(“TestChange“);this.setSize(355, 85);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);panel = new JPanel();tt1 = new JTextField(10);tt2 = new JTextField(10);button = new JButton(“Cha
4、nge“);button.addActionListener(this);panel.add(tt1);panel.add(tt2);panel.add(button);this.add(panel, BorderLayout.NORTH);this.setResizable(false);this.setVisible(true);public static void main(String str)new TestChange();Overridepublic void actionPerformed(ActionEvent e) if(e.getSource() = button)Str
5、ing temp = tt1.getText();tt1.setText(tt2.getText();tt2.setText(temp);2. 采用图形界面设计如下图 2 所示的界面。并能够实现当点击“+”按钮时,标签给出点击次数,如图 3 所示图 2 开始界面图 3 点击“+”按钮后的界面3教材 P220 页,第 3 题,创建一个会员注册窗体,要求使用上JCheckBox,JRadioButton,JTextFiled,JTextArea 等组件,并将用户的注册信息显示到文本区中。代码如下:package java 实验六;import java.*;import javax.swing.*
6、;import java.awt.event.*;import java.awt.*;public class VipDemo extends JFrame implements ActionListenerprivate Color c;private int style;private Font f,fl;private JLabel jlExample,jlFontstyle,jlColor,jlname,jlid,jlphone,jlsex;private JButton jbOk,jbCancel;private JRadioButton rbRed,rbBlue,rbBlack,r
7、bm,rbf;private ButtonGroup g;private JCheckBox jcbBold,jcbItalic;private JPanel jpFontstyle,jpColor,jpLabel,jpsex;private JTextField jtname,jtid,jtphone;private JTextArea jta;public VipDemo()style=Font.PLAIN;jlExample=new JLabel(“请看设置效果“);jlFontstyle=new JLabel(“字形“);jlColor=new JLabel(“颜色“);jlsex=n
8、ew JLabel(“性别“);jlname=new JLabel(“名字 “);jlid=new JLabel(“编号 “);jlphone=new JLabel(“联系方式“);jbOk=new JButton(“确定“);jbCancel=new JButton(“取消“);rbRed=new JRadioButton(“ “);rbBlue=new JRadioButton(“ “);rbBlack=new JRadioButton(“ “);rbm=new JRadioButton(“男“);rbf=new JRadioButton(“女“);g=new ButtonGroup();
9、jcbBold=new JCheckBox(“粗体“);jcbItalic=new JCheckBox(“斜体“);jpFontstyle=new JPanel();jpColor=new JPanel();jpLabel=new JPanel();jpsex=new JPanel();jtname=new JTextField();jtid=new JTextField();jtphone=new JTextField();jta=new JTextArea(4,15);public void launchButtonTest()jta.setEditable(false);f=jlExam
10、ple.getFont();fl=f.deriveFont(Font.PLAIN);jlExample.setFont(fl);rbRed.setBackground(Color.red);rbBlue.setBackground(Color.blue);rbBlack.setBackground(Color.black);rbRed.addActionListener(this);rbBlue.addActionListener(this);rbBlack.addActionListener(this);jcbBold.addActionListener(this);jcbItalic.ad
11、dActionListener(this);rbm.addActionListener(this);rbf.addActionListener(this);jbOk.addActionListener(this);jbCancel.addActionListener(this);g.add(rbRed);g.add(rbBlue);g.add(rbBlack);g.add(rbm);g.add(rbf);jpFontstyle.add(jlFontstyle);jpFontstyle.add(jcbBold);jpFontstyle.add(jcbItalic);jpColor.add(jlC
12、olor);jpColor.add(rbRed);jpColor.add(rbBlue);jpColor.add(rbBlack);jpLabel.add(jlExample);jpsex.add(rbm);jpsex.add(rbf);Container cp=getContentPane();cp.setLayout(new GridLayout(7,2,5,5);cp.add(jpFontstyle);cp.add(jpColor);cp.add(jpLabel);cp.add(jpsex);cp.add(jlname);cp.add(jtname);cp.add(jlid);cp.ad
13、d(jtid);cp.add(jlphone);cp.add(jtphone);cp.add(jbOk);cp.add(jbCancel);cp.add(jta);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);pack();setVisible(true);public void actionPerformed(ActionEvent e)if(rbRed.isSelected()c=Color.red;if(rbBlue.isSelected()c=Color.blue;if(rbBlack.isSelected()c=Color.black;
14、jlExample.setForeground(c);Object source=e.getSource();if(source=jcbBold)style=styleFont.BOLD;if(source=jcbItalic)style=styleFont.ITALIC;jlExample.setFont(fl.deriveFont(style);if(source=rbm)jta.append(“男n“);if(source=rbf)jta.append(“女“);if(source=jbOk)jta.append(“姓名 “+jtname.getText()+“n“);jta.appen
15、d(“编号 “+jtid.getText()+“n“);jta.append(“联系方式 “+jtphone.getText()+“n“);public static void main(String args)VipDemo bt=new VipDemo();bt.setTitle(“会员注册“);bt.launchButtonTest();4 利用相应的组件编辑一个文本编辑器,参照 Windows 记事本,可以对字体大小、字形(粗体,斜体) 、颜色进行设置,可以对内容进行添加、删除、修改,并保存文本。说明:(1)可以选用单选框、复选框、列表、下拉框或菜单任意一种或多种组合实现字体的设置(2)根据自己的编程能力实现功能,可以只实现字体的设置,或者字体和内容的编辑,或者全部功能都实现。(3)本题的目的是常用组件的使用。III 在本次实验中的问题和解决方法本次实验中一切的设计和实现还比较理想,没遇上什么难题。IV 心得体会通过本次实验我了解了图形用户界面的设计方法,掌握了常用的构建用户界面的组件的用法,掌握事件操作的原理,能够对所设计的用户界面进行事件处理,能够应用运算符解决实际小问题,熟悉了 Java 的面向对象的编程思想