1、java实验报告 2甘肃政法学院本科生实验报告(三)姓名: 俞晓学院: 信息工程学院专业: 信息管理与信息系统班级: 2013级信管班实验课程名称: Java SE程序设计实验日期: 2015 年 5 月 5 日指导教师及职称:李瑞生实验成绩:开课时间:2104-2015学年第二学期甘肃政法学院实验管理中心印制实验题目组件与事件小组合作否姓名俞晓班级2013级信管班学号201381020120一、 实验目的1、掌握java AWT图形用户界面设计常用类及其各自重要方法的应用。2、掌握java 事件处理模式并熟练掌握文本框上事件处理的方法。3、进一步掌握java组件及事件编程的各种方法。4、掌握
2、对话框的编制和事件处理方法。5、掌握鼠标焦点事件、鼠标事件及键盘事件的处理方法。6、掌握Swing组件及事件编程方法。二实验环境Windows 7Eclipse三、实验内容与步骤1、算数测试【代码1】/创建textOne,其可见字符长是10:textOne=new TextField(10); 【代码2】/创建textTwo,其可见字符长是10 : textTwo=new TextField(10);【代码3】/创建textResult,其可见字符长是10:textResult=new TextField(10); 【代码4】/将当前窗口注册为getProblem的ActionEvent事件监
3、视器:getProblem.addActionListener(this); 【代码5】/将当前窗口注册为giveAnwser的ActionEvent事件监视器:giveAnwser.addActionListener(this);【代码6】/将当前窗口注册为textResult的ActionEvent事件监视器:textResult.addActionListener(this); 【代码7】/判断事件源是否是getProblem:if(e.getSource()=getProblem) 【代码8】/判断事件源是否是giveAnwser:e.getSource()=giveAnwser)【代
4、码9】/创建窗口,其标题为:算术测试:frame=new ComputerFrame(算数测试); 运行结果如图所示:2、信号灯【代码1】/创建choice:choice=new Choice(); 【代码2】/创建choice添加itemRed:choice.addItem(itemRed);【代码3】/创建choice添加itemYellow:choice.addItem(itemYellow); 【代码4】/创建choice添加itemGreen:choice.addItem(itemGreen); 【代码5】/将当前窗口注册为choice的ItemEvent事件监视器:choice.a
5、ddItemListener(this); 【代码6】/ choice返回被选中的条目:String item= choice.getSelectedItem(); 运行结果如图所示:3、布局与日历【代码1】/将pCenter的布局设置为7行7列的GridLayout 布局: pCenter.setLayout(new GridLayout(7,7);【代码2】/pCenter添加组件titleNamei:pCenter.add(titleNamei);【代码3】/pCenter添加组件labelDayi:pCenter.add(labelDayi);【代码4】/ 窗口添加scrollPane
6、在中心区域:add(pCenter,BorderLayout.CENTER); 【代码5】/ 窗口添加pNorth 在北面区域:add(pNorth,BorderLayout.NORTH);【代码6】/ 窗口添加pSouth 在南区域:add(pSouth,BorderLayout.SOUTH);运行结果如图所示:4、方程求根【代码1】/当前窗口作为controlButton的ActionEvent事件的监视器:controlButton.addActionListener(this); 【代码2】/textA调用方法获取其中的文本:double a=Double.parseDouble(te
7、xtA.getText(); 【代码3】/textB调用方法获取其中的文本:double b=Double.parseDouble(textB.getText(); 【代码4】/ textC调用方法获取其中的文本:运行结果如图所示: 5、实体对话框【代码1】/对话框设置为有模式:this.setModal(true); 【代码2】/对话框设置为可见:this.setVisible(true); 【代码3】 /对话框设置为不可见:this.setVisible(false); 【代码4】/创建对话框:FontDialog dialog=new FontDialog(this); 【代码5】/对话
8、框设置为可见:dialog.setVisible(true); 【代码6】/对话框设置设置标题为“字体对话框”:dialog.setTitle(字体对话框); 运行结果如图所示: 6、英语单词拼写练习【代码1】/将当前对象注册为自身的焦点视器:this.addFocusListener(this); 【代码2】/将当前对象注册为自身的标监视器:this.addMouseListener(this); 【代码3】/将当前窗口注册为labelk的键盘监视器:labelk.addKeyListener(this); 【代码4】/判断按下的是否是键):if(e.getKeyChar()= KeyEve
9、nt.VK_LEFT); 【代码5】/判断按下的是否是键:if(e.getKeyChar()=KeyEvent.VK_RIGHT); 运行结果如图所示:7、JLayeredPane分层窗格【代码1】/pane将组件b5放置在DRAG_LAYER层:pane.add(b5, pane.DRAG_LAYER); 【代码2】/pane将组件b4放置在POPUP_LAYER层:pane.add(b4, pane.POPUP_LAYER); 【代码3】/pane将组件b3放置在MODAL_LAYER层:pane.add(b3, pane.MODAL_LAYER);【代码4】/pane将组件b2放置在PA
10、LETTE_LAYER层:pane.add(b2, pane.PALETTE_LAYER);【代码5】/pane将组件b3放置在DEFAULT_LAYER层:pane.add(b1, pane.DEFAULT_LAYER);运行结果如图所示:8、使用表格显示日历【代码1】/使用数组rili和name创建table:table=new JTable(rili,name); 【代码2】/使用数组rili和name创建table:table=new JTable(rili,name); 【代码3】/使用数组rili和name创建table:table=new JTable(rili,name);运行
11、结果如图所示: 9、多文档界面(MDI)【代码1】/创建JdesktopPane对象:desk=new JDesktopPane();【代码2】/desk返回其中的全部内部窗体:JInternalFrame a=desk.getAllFrames();【代码3】/desk 将ai放置在DEFAULT_LAYER层:desk.setLayer(ai,JDesktopPane.DEFAULT_LAYER);【代码4】/desk 将newInternalFrame放置在DRAG_LAYER层:desk.add(newInternalFrame,JDesktopPane.DRAG_LAYER); 运行
12、结果如图所示:四、实验过程与分析 在实验过程中,遇到了如下一些问题,最后在和同学相互交流以及上网查资料后,这些问题都得到了解决。 1、在做第一个实验时,对于giveAnwser.addActionListener(this)中的(this)不是很理解,经过请教同学,我知道了此处的this代表当前类的对象,通过它,不需要new一个实例就可以用this调用它的方法和属性。2、 在做第二个实验“信号灯”时,第一次运行出现了错误,运行结果如下之后在经过多次调试,程序运行正常,运行结果如图:3、在做第六个实验“拼写单词”时,在用键盘左右移动字母时,出现了“NULL”值。但是在重新调试代码后,运行结果正常
13、。 4、向java中添加awt组件时,我们多数用到的是add()函数,要实现相应的事件时,我们必须还要添加各自所相应的ActionListener(事件监听器)。五、实验总结通过本次实验,我了解了java中 AWT组件和Swing组件的图形用户界面设计常用类及其各自重要方法的应用,还掌握了怎么来添加AWT组件和Swing组件,以及怎么实现其相应的功能,最后也熟悉了java 中AWT组件和Swing组件的使用方法和思想以及文本框上事件处理的方法。这次实验过后,对 java组件及事件编程的各种方法,还有对话框的编制和事件处理方法都熟悉了不少。除此之外,还了解了鼠标焦点事件、鼠标事件及键盘事件的处理方法和几种布局的方法,以及Swing组件及事件编程方法。为以后进行窗口和桌面编程积累了不少经验,比如说期末的课程设计,但是因为这方面的东西知识点比较碎,而且刚开始掌握的还不是很透彻,很容易忘记 ,所以在课后应该多加练习。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1