实验六+图形界面.docx
- 文档编号:29891329
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:9
- 大小:31.30KB
实验六+图形界面.docx
《实验六+图形界面.docx》由会员分享,可在线阅读,更多相关《实验六+图形界面.docx(9页珍藏版)》请在冰豆网上搜索。
实验六+图形界面
实验六+图形界面
实验六图形界面
实验日期:
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;
publicclassTestChangeextendsJFrameimplementsActionListener{
privatestaticfinallongserialVersionUID=-3684503858019589006L;
JPanelpanel;
JTextFieldtt1;
JTextFieldtt2;
JButtonbutton;
publicTestChange(){
this.setTitle("TestChange");
this.setSize(355,85);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel=newJPanel();
tt1=newJTextField(10);
tt2=newJTextField(10);
button=newJButton("Change");
button.addActionListener(this);
panel.add(tt1);
panel.add(tt2);
panel.add(button);
this.add(panel,BorderLayout.NORTH);
this.setResizable(false);
this.setVisible(true);
}
publicstaticvoidmain(String[]str){
newTestChange();
}
@Override
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==button)
{
Stringtemp=tt1.getText();
tt1.setText(tt2.getText());
tt2.setText(temp);
}
}
}
2.采用图形界面设计如下图2所示的界面。
并能够实现当点击“+”按钮时,标签给出点击次数,如图3所示
图2开始界面
图3点击“+”按钮后的界面
3.教材P220页,第3题,创建一个会员注册窗体,要求使用上JCheckBox,JRadioButton,JTextFiled,JTextArea等组件,并将用户的注册信息显示到文本区中。
代码如下:
packagejava实验六;
importjava.*;
importjavax.swing.*;
importjava.awt.event.*;
importjava.awt.*;
publicclassVipDemoextendsJFrameimplementsActionListener{
privateColorc;
privateintstyle;
privateFontf,fl;
privateJLabeljlExample,jlFontstyle,jlColor,jlname,jlid,jlphone,jlsex;
privateJButtonjbOk,jbCancel;
privateJRadioButtonrbRed,rbBlue,rbBlack,rbm,rbf;
privateButtonGroupg;
privateJCheckBoxjcbBold,jcbItalic;
privateJPaneljpFontstyle,jpColor,jpLabel,jpsex;
privateJTextFieldjtname,jtid,jtphone;
privateJTextAreajta;
publicVipDemo(){
style=Font.PLAIN;
jlExample=newJLabel("请看设置效果");
jlFontstyle=newJLabel("字形");
jlColor=newJLabel("颜色");
jlsex=newJLabel("性别");
jlname=newJLabel("名字");
jlid=newJLabel("编号");
jlphone=newJLabel("联系方式");
jbOk=newJButton("确定");
jbCancel=newJButton("取消");
rbRed=newJRadioButton("");
rbBlue=newJRadioButton("");
rbBlack=newJRadioButton("");
rbm=newJRadioButton("男");
rbf=newJRadioButton("女");
g=newButtonGroup();
jcbBold=newJCheckBox("粗体");
jcbItalic=newJCheckBox("斜体");
jpFontstyle=newJPanel();
jpColor=newJPanel();
jpLabel=newJPanel();
jpsex=newJPanel();
jtname=newJTextField();
jtid=newJTextField();
jtphone=newJTextField();
jta=newJTextArea(4,15);
}
publicvoidlaunchButtonTest(){
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);
Containercp=getContentPane();
cp.setLayout(newGridLayout(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_CLOSE);
pack();
setVisible(true);
}
publicvoidactionPerformed(ActionEvente){
if(rbRed.isSelected())
c=Color.red;
if(rbBlue.isSelected())
c=Color.blue;
if(rbBlack.isSelected())
c=Color.black;
jlExample.setForeground(c);
Objectsource=e.getSource();
if(source==jcbBold)
style=style^Font.BOLD;
if(source==jcbItalic)
style=style^Font.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.append("编号"+jtid.getText()+"\n");
jta.append("联系方式"+jtphone.getText()+"\n");
}
}
publicstaticvoidmain(String[]args){
VipDemobt=newVipDemo();
bt.setTitle("会员注册");
bt.launchButtonTest();
}
}
4.利用相应的组件编辑一个文本编辑器,参照Windows记事本,可以对字体大小、字形(粗体,斜体)、颜色进行设置,可以对内容进行添加、删除、修改,并保存文本。
说明:
(1)可以选用单选框、复选框、列表、下拉框或菜单任意一种或多种组合实现字体的设置
(2)根据自己的编程能力实现功能,可以只实现字体的设置,或者字体和内容的编辑,或者全部功能都实现。
(3)本题的目的是常用组件的使用。
III在本次实验中的问题和解决方法
本次实验中一切的设计和实现还比较理想,没遇上什么难题。
IV心得体会
通过本次实验我了解了图形用户界面的设计方法,掌握了常用的构建用户界面的组件的用法,掌握事件操作的原理,能够对所设计的用户界面进行事件处理,能够应用运算符解决实际小问题,熟悉了Java的面向对象的编程思想
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 图形界面