实验六图形界面
实验日期:2016 年6月12日班级:软件1401
学号(后四位):__0127_______ 姓名:_程瑞强_______ 成绩:
成绩:
一.实验目的
1. 2. 3. 4. 5. 6.
掌握图形用户界面的设计方法
掌握常用的构建用户界面的组件的用法 掌握事件操作的原理
能够对所设计的用户界面进行事件处理 能够应用运算符解决实际小问题
进一步熟悉Java的面向对象的编程思想
二.实验题目(前2题任选1题,第3,4题任选1题)
1.采用图形界面实现两个内容的交换,图形界面如下图1所示所示:
图1 内容交换
代码如下:
packageTestChange;
importjava.awt.BorderLayout; importjava.awt.event.ActionEvent; importjava.awt.event.ActionListener;
importjavax.swing.JButton; importjavax.swing.JFrame; importjavax.swing.JPanel; importjavax.swing.JTextField;
public class TestChange extends JFrame implements ActionListener{ private static final long serialVersionUID = -3684503858019589006L;
JPanel panel; JTextField tt1; JTextField tt2; JButton button;
publicTestChange(){
this.setTitle(\this.setSize(355, 85);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel = new JPanel();
tt1 = new JTextField(10); tt2 = new JTextField(10); button = new JButton(\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){
newTestChange(); }
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == button) {
String 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.*;
importjavax.swing.*; importjava.awt.event.*; importjava.awt.*;
public class VipDemo extends JFrame implements ActionListener{ private Color c; privateint style; private Font f,fl; privateJLabeljlExample,jlFontstyle,jlColor,jlname,jlid,jlphone,jlsex; privateJButtonjbOk,jbCancel; privateJRadioButtonrbRed,rbBlue,rbBlack,rbm,rbf; privateButtonGroup g; privateJCheckBoxjcbBold,jcbItalic; privateJPaneljpFontstyle,jpColor,jpLabel,jpsex;
privateJTextFieldjtname,jtid,jtphone; privateJTextAreajta; publicVipDemo(){
style=Font.PLAIN;
jlExample=new JLabel(\请看设置效果\ jlFontstyle=new JLabel(\字形\ jlColor=new JLabel(\颜色\ jlsex=new 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();
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=jlExample.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.addActionListener(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(jlColor); 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.add(jtid); cp.add(jlphone); cp.add(jtphone); cp.add(jbOk); cp.add(jbCancel); cp.add(jta);
setDefaultCloseOperation(JFrame.EXIT_ON_