资源描述:
《图形界面程序的界面设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验三图形界面程序的界面设计一、实验目的1、掌握Java图形界面程序设计的基本思想和步骤。2、掌握JDK中AWT包和Swing包的基本使用方法和区别。3、掌握容器和布局的概念和使用。4、掌握图形界面程序的界面设计方法和步骤。二、实验内容自己编写所有代码,设计一个程序的界面。该程序的功能要求是:运行之后,界面要求基本如左图所示。其中界面设计时的顶层容器要求使用JFrame(或Frame),界面上的“简易计算器”、“运算数一”、“运算数二”、“运算结果”些提示标签使用组件JLabel(或Label),输入运算数和输出运算结果使用JTextField(或Tex
2、tField),“相加”、“相减”和“全部清零”使用按钮JButton(或Button)。请注意查阅JDK的API文档中这些相关的类,看看它们具有哪些构造函数可以用来生成所需的对象,它们具有哪些方法可以用来进行调用。注意保存好本次实验代码,下一次实验将会要求实现其事件处理以继续完善。(由于实验三为选作,因此只做了第一题)三、分析与设计1、分析:这次实验主要是图形界面程序的界面设计,设计界面时,先定义“容器对象”作为载体,然后定义按钮,输入框之类的普通图形界面组件对象,把这些组件对象添加(调用容器对象的add方法)到容器上,才构成界面。而对于容器对象设置布
3、局的方法都是调用该容器对象的setLayout方法。2、设计:此题用到java中能够实现图形用户界面的类库:javax.swing,在根据类库中的组件完成整个界面的设计,其中要注意对于界面的设计有位置等细节需要决定。四、测试数据及运行结果五、问题与总结①在此实验中只要按照javax.swing类库中的组件方法来编写即可。②需要定义一个对象,来运行程序。③注意定义的对象名称尽量与类名相同。④在实验中要注意位置的设定,尽量使布局与题目要求相同。六、附录:packageShiyansi;importjavax.swing.JButton;importjavax
4、.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JTextField;publicclassShiyansan{JTextFieldjtextfield1,jtextfield2,jtextfield3;JLabellabel1,label2,label3,label4;JButtonb1,b2,b3;JFramejfr=newJFrame("计算器");//定义设计图形界面程序所需的容器对象publicShiyansan(){b1=newJButton("相加");//定义界面上需要的按
5、钮相加,下同b2=newJButton("相减");b3=newJButton("全部清零");label1=newJLabel("运算数1");//定义界面上需要的标签,下同label2=newJLabel("运算数2");label3=newJLabel("运算结果");label4=newJLabel("简易计算器");jtextfield1=newJTextField(15);//定义界面上需要的文本域,接受用户的输入jtextfield2=newJTextField(15);jtextfield3=newJTextField(15);jfr.s
6、etSize(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);la
7、bel1.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
8、,25);jtextfield1.setLocation(125,70);jte