图形界面程序的界面设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三图形界面程序的界面设计
一、实验目的
1、掌握Java 图形界面程序设计的基本思想和步骤。
2、掌握JDK 中AWT 包和Swing 包的基本使用方法和区别。
3、掌握容器和布局的概念和使用。
4、掌握图形界面程序的界面设计方法和步骤。
二、实验内容
自己编写所有代码,设计一个程序的界面。
该程序的功能要求是:运行之后,界面要求基本如左图所示。
其中界面设计时的顶层容器要求使用JFrame(或Frame),界面上的“简易计算器”、“运算数一”、“运算数二”、“运算结果”些提示标签使用组件JLabel(或Label),输入运算数和输出运算结果使用JTextField (或TextField),“相加”、“相减”和“全部清零”使用按钮JButton(或Button)。
请注意查阅JDK 的API文档中这些相关的类,看看它们具有哪些构造函数可以用来生成所需的对象,它们具有哪些方法可以用来进行调用。
注意保存好本次实验代码,下一次实验将会要求实现其事件处理以继续完善。
(由于实验三为选作,因此只做了第一题)
三、分析与设计
1、分析:这次实验主要是图形界面程序的界面设计,设计界面时,先定义“容器对象”作为载体,然后定义按钮,输入框之类的普通图形界面组件对象,把这些组件对象添加(调用容器对象的add方法)到容器上,才构成界面。
而对于容器对象设置布局的方法都是调用该容器对象的setLayout方法。
2、设计:此题用到java中能够实现图形用户界面的类库:javax.swing,在根据类库中的组件完成整个界面的设计,其中要注意对于界面的设计有位置等细节需要决定。
四、测试数据及运行结果
五、问题与总结
①在此实验中只要按照javax.swing类库中的组件方法来编写即可。
②需要定义一个对象,来运行程序。
③注意定义的对象名称尽量与类名相同。
④在实验中要注意位置的设定,尽量使布局与题目要求相同。
六、附录:
package Shiyansi;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
publicclass Shiyansan {
JTextField jtextfield1,jtextfield2,jtextfield3;
JLabel label1,label2,label3,label4;
JButton b1,b2,b3;
JFrame jfr=new JFrame("计算器"); //定义设计图形界面程序所需的容器对象
public Shiyansan(){
b1=new JButton("相加"); //定义界面上需要的按钮相加,下同
b2=new JButton("相减");
b3=new JButton("全部清零");
label1=new JLabel("运算数1"); //定义界面上需要的标签,下同
label2=new JLabel("运算数2");
label3=new JLabel("运算结果");
label4=new JLabel("简易计算器");
jtextfield1=new JTextField(15); //定义界面上需要的文本域,接受用户的输入
jtextfield2=new JTextField(15);
jtextfield3=new JTextField(15);
jfr.setSize(300,400); //设置容器对象jfr的宽度和高度
jfr.setLayout(null); //设置为null布局
b1.setSize(75,30); //设置按钮b1的宽度和高度
b1.setLocation(60,250); //设置按钮b1在界面上的左上角的位置坐标
b2.setSize(75,30);
b2.setLocation(150,250);
b3.setSize(100,50);
b3.setLocation(90,290);
jfr.add(b1); //依次将每个组件添加到容器上,下同
jfr.add(b2);
jfr.add(b3);
label1.setSize(90,30);
label1.setLocation(30, 70);
label2.setSize(90,30);
label2.setLocation(30,120);
label3.setSize(90, 30);
label3.setLocation(30,170);
label4.setSize(90,30);
label4.setLocation(100,30);
jfr.add(label1);
jfr.add(label2);
jfr.add(label3);
jfr.add(label4);
jtextfield1.setSize(100,25);
jtextfield1.setLocation(125, 70);
jtextfield2.setSize(100,25);
jtextfield2.setLocation(125,120);
jtextfield3.setSize(100,25);
jtextfield3.setLocation(125,170);
jfr.add(jtextfield1);
jfr.add(jtextfield2);
jfr.add(jtextfield3);
jtextfield3.setEditable(false); //定义文本框3为不可编辑
jfr.setVisible(true); //使容器可见
jfr.setResizable(true); //使窗口可调整
}
publicstaticvoid main(String args[]) {
new Shiyansan(); //产生一个匿名对象,运行程序}
}。