




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验报告 课程Java语言程序设计 实验名称 第八章Swing图形用户界面程序设计实验任务(一) 第 页 专业 班级 学号 姓名 实验日期:2010年11月 2日报告退发(订正、重做) 一、实验目的 ?掌握框架、对话框、面板等容器的使用 ?掌握标签、按钮等组件的使用 ?初步了解java图形界面事件处理机制的原理 二、实验环境 1、微型计算机一台 2、DOS或 WINDOWS 操作系统,j2se开发包 三、实验内容 1、创建一个框架类实例对象app作为窗体 2、往窗体里添加三个按钮(b1、b2、b3)、两个标签(11,12 )、三个文本输 入框(t1、t2、t3),要求标签即包含一个图标也包含文
2、本,且文本覆盖在 图标的上面。 3、 可以在t1中输入文本信息,点击按钮b1后,标签11的内容被设置为t1 中的文本信息。 4、点击按钮t2时,弹出一个有模一般对话框,对话框中包含一个文本编辑 框(dt)和两个按钮(db1、db2), db1为确认按钮,db2为取消按钮,当 点击对话框db1确定按钮时,将文本编辑框dt中的文本信息返回,当点 击取消或直接关闭对话框,返回值为:“点击取消或关闭”。将对话框的返 回值在t2中显示。 5、 点击按钮t3时,弹出一个选择输入对话框(标准对话框之一)。要求将该 对话框的返回值在t3中显示。 6、 设计一个计算器,要求见第八章习题6 四、实验步骤和结果 1
3、. 在Eclipse中新建名字为test7的工程。 2. 新建 swingtest.java 类。 3. 实验内容1至5程序如下所示: / swing1.java import java.awt.C ontainer; import java.awt.FlowLayout; import java.awt.eve nt.Act ion Eve nt; import java.awt.eve nt.Act ion Liste ner; import java.awt.eve nt.Wi ndowEve nt; import java.awt.eve nt.Wi ndowListe ner; im
4、port javax.swing.BoxLayout; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; public class swingtest extends JFrame publ
5、ic static void main(String args) final JFrame app=new JFrame(); / 创建按钮、标签、文本输入框这三类面板 JPanel jpbt=new JPanel(); JPanel jplabel=new JPanel(); JPanel jptextfield=new JPanel(); / 采用盒式布局管理器 / 按钮在窗体南部,标签在北部,文本输入框在中部 组件在容器 jpbt.setLayout(new BoxLayout(jpbt, BoxLayout.X_AXIS);/ 中沿水平方向排列 JButton b1=new JButt
6、on(b1); JButton b2=new JButton(b2); final JButton b3=new JButton(b3); jpbt.add(b1); jpbt.add(b2); jpbt.add(b3); jplabel.setLayout(new BoxLayout(jplabel, BoxLayout.X_AXIS); final JLabel l1=new JLabel(l1,new ImageIcon(photo/22.jpg),JLabel.LEFT); JLabel l2=new JLabel(l2,new ImageIcon(photo/33.jpg),JLab
7、el.LEFT); l1.setHorizontalTextPosition(JLabel.CENTER); l2.setHorizontalTextPosition(JLabel.CENTER); jplabel.add(l1); jplabel.add(l2); jptextfield.setLayout(new BoxLayout(jptextfield, BoxLayout.X_AXIS); final JTextField t1=new JTextField(t1); final JTextField t2=new JTextField(t2); final JTextField t
8、3=new JTextField(t3); jptextfield.add(t1); jptextfield.add(t2); jptextfield.add(t3); b1.addActionListener(new ActionListener() Override public void actionPerformed(ActionEvent arg0) l1.setText(t1.getText(); ); b2.addActionListener(new ActionListener() Override public void actionPerformed(ActionEvent
9、 arg0) ,true); final JDialog jd=new JDialog(app, 对话框! Container c=jd.getContentPane(); c.setLayout(new FlowLayout(); final JTextField jt=new JTextField(10); JButton db1=new JButton(db1); db1.addActionListener(new ActionListener() Override public void actionPerformed(ActionEvent arg0) t2.setText(jt.g
10、etText(); jd.dispose(); ); JButton db2=new JButton(db2); db2.addActionListener(new ActionListener() Override public void actionPerformed(ActionEvent arg0) t2.setText( 点击取消或关闭 ); jd.dispose(); ); /* / 当点击 直接关闭对话框 ,返回值为: “点击取消或关闭 * jd.addWindowListener(new WindowListener() Override public void windowO
11、pened(WindowEvent arg0) / TODO Auto-generated method stub Override public void windowIconified(WindowEvent arg0) / TODO Auto-generated method stub Override public void windowDeiconified(WindowEvent arg0) / TODO Auto-generated method stub Override public void windowDeactivated(WindowEvent arg0) / TOD
12、O Auto-generated method stub Override public void windowClosing(WindowEvent arg0) / TODO Auto-generated method stub Override public void windowClosed(WindowEvent arg0) / TODO Auto-generated method stub t2.setText( 点击取消或关闭 ); Override public void windowActivated(WindowEvent arg0) / TODO Auto-generate
13、d method stub );*/ c.add(jt); c.add(db1); c.add(db2); jd.pack(); jd.setLocationRelativeTo(app); jd.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); jd.setVisible(true); jd.setResizable(false); ); b3.addActionListener(new ActionListener() Override public void actionPerformed(ActionEvent e) if(e.ge
14、tSource()=b3) String s=很轻松 , 还可以 , 很困难 ; String x; x=(String)JOptionPane.showInputDialog(null, 学习 Java 轻 松吗? , 输入框 ,JOptionPane.QUESTION_MESSAGE,null,s,s0); t3.setText(x); ); Container c=app.getContentPane(); / 获取内容窗格 app.setLayout(new BoxLayout(c, BoxLayout.Y_AXIS);/组件在容器中沿 垂直方向排列 c.add(jplabel); c
15、.add(jptextfield); c.add(jpbt); app.setSize(400,150); app.setVisible(true); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); app.setResizable(false); 居中 app.setLocati on RelativeTo (n ull); / 4. 实验内容1至5程序结果运行如下: 找爱山阳编程1 t2 t3 bl U2 我爱程 t2 t3 bl Ij2 b3 -! x| 固对话框甲 J日询之路艰险 dbl 我爱J日沖漏骂 凶 db2 我爱J訓痺程
16、J日阳之路艰险 13 b! k)2 b3 鳥程 / 我爱Java編程 点击取消或关闭 t3 b1 b3 Jnld 输入框 2d 学习Java轻松吗? 很轻松 确定 职消 我去 点击取消或关闭 我爱Java編程 还可以 输入框 很困难 学习Java轻松吗? 确定 取消 5. 计算器程序如下: / SumTool.java import java.awt.C ontainer; import java.awt.eve nt.Act ionEvent; import java.awt.eve nt.Act ion Liste ner; import javax.swi ng.BoxLayout; i
17、mport javax.swi ng.JButt on; import javax.swi ng.JFrame; import javax.swi ng.JPa nel; import javax.swi ng.JTextField; public class SumTool exte nds JFrame public static void main(String args) JFrame jf=new JFrame(Sum); /创建文本输入框面板 JPa nel jptextfield=new JPa nel(); /采用盒式布局管理器 jptextfield.setLayout (n
18、ew BoxLayout(jptextfield, BoxLayout.X_AXIS);组件在容器中沿水平方向排列 fin al JTextField t1= new JTextField(7); JTextField t2=new JTextField(+); fin al JTextField t3=new JTextField(7); fin al JTextField t5=new JTextField(7); t1.setEditable(true); t2.setEditable(false); t3.setEditable(true); t5.setEditable(true); JButton t4=new JButton(=); t4.addActio nListe ner(new Actio nListe ner() Override public void action Performed(Acti onEvent argO) Stri ng s1=t1.getText(); Stri ng s3=t3.getText(); int m1=ln teger.valueOf(s1); int m3=ln teger.va
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论