实验4基于图形用户界面的JDBC程序开发(1)淮海工学院计算机科学系实验报告书课程名:__Java___________题目:基于图形用户界面的JDBC程序开发班级:_____________学号:____________姓名:_____________评语:成绩:指导教师:批阅时间:年月日1一、实验目的熟练运用GUI标准组件和布局管理器,正确合理地利用常用AWT和Swing组件进行图形界面的设计;理解Java的事件处理机制,正确运用Java的事件处理机制及事件委托模型编写图形界面组件的事件处理程序;理解Java多线程机制,掌握线程使用方法。二、实验环境操作系统:windows2000或WindowXP集成开发环境:JDK1.6及以上版本三、实验学时2学时,必做实验。四、实验内容(1)进一步熟悉JavaGUI标准组件和布局管理器、正确合理地利用常用AWT和Swing组件进行图形界面的设计;理解Java的事件处理机制,正确运用Java的事件处理机制及事件委托模型编写图形界面组件的事件处理程序;实践程序调试方法、纠错能力及编程规范性等(2)按以下各题目具体要求调试或编写相关算法程序五、实验步骤与结果1改正以下程序中出现的错误,并进行注释说明importjava.awt.*importjavax.swing.*;publicclassTest3extendsFrameimplementActionListener{Lableprompt;TextFieldinput,output;publicvoidinit(){prompt=newLable(请输入你的专业:);input=newTextField(8);input=newTextField(16);add(prompt);add(input);add(output);2input.addActionListener();setsize(500,400);}publicstaticvoidactionPerformed(ActionEvente){JOptionPane.showMessagebox(null,你喜欢吗?,友情提醒,JOptionPane.QUESTION_MESSAGE);output.setText(好好学+input.getText());}publicstaticvoidmain(stringargs[]){newTest3();}}改正importjava.awt.*;//缺少分号importjavax.swing.*;importjava.awt.event.*;//添包importjava.applet.*;//添包publicclassTest3extendsAppletimplementsActionListener//改成如前所示{Labelprompt;//Label拼写错误TextFieldinput,output;publicvoidinit(){prompt=newLabel(请输入你的专业:);//Label拼写错误input=newTextField(8);output=newTextField(8);//添加此行input=newTextField(16);output=newTextField(16);//添加此行add(prompt);add(input);3add(output);input.addActionListener(this);//添加thisoutput.addActionListener(this);//添加此行setSize(500,400);//改为setSize,分号的输入状态改为英文下的}publicvoidactionPerformed(ActionEvente)//去掉static{JOptionPane.showMessageDialog(null,你喜欢吗?,友情提醒,JOptionPane.QUESTION_MESSAGE);//box改成Dialogoutput.setText(好好学+input.getText());}publicstaticvoidmain(Stringargs[])//改为String{newTest3();}}2编写一个JavaApplication图形界面的程序,实现两数相减、相除的功能(1)在两个文本框里分别输入两个数字,单击“求差”、“求商”按钮,则在第三个文本框里显示运算结果;(2)当输入的不是数字或者除数为0时,要求用消息对话框向用户报错;(3)单击窗口右上角的“X”按钮,即关闭窗口退出请按照实验内容具体要求完成相关设计与编程,实验步骤;(1)程序代码importjava.awt.*;4importjava.awt.event.*;importjavax.swing.*;publicclassprg005extendsFrameimplementsActionListener{Labelprompt;TextFieldinput1,input2,output;ButtonbtnAdd;doubles1,s2,result;//定义几个计算用的变量prg005(){super(Java程序设计示例);prompt=newLabel(请输入两个数字:);input1=newTextField(5);input2=newTextField(5);output=newTextField(16);btnAdd=newButton(求和);setLayout(newFlowLayout());add(prompt);add(input1);add(input2);add(output);add(btnAdd);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente1){System.exit(0);}});btnAdd.addActionListener(this);setSize(300,150);setVisible(true);}5publicvoidactionPerformed(ActionEvente){if(judge()){if(e.getSource()==btnAdd)output.setText(相加结果=+(s1+s2));}}booleanjudge(){Stringregex=[^1234567890.];Stringt1=input1.getText();Stringt2=input2.getText();if(t1.matches(regex)||t2.matches(regex)){JOptionPane.showMessageDialog(null,请输入数字!,友情提醒,JOptionPane.INFORMATION_MESSAGE);output.setText();returnfalse;}else{s1=Double.parseDouble(t1);s2=Double.parseDouble(t2);returntrue;}}publicstaticvoidmain(Stringasg[]){newprg005();}6}(2)相应运行结果3(选做题)理解并调试运行实验指导书第132页提高题4-4六、实验分析与体会(1)试介绍Java界面布局管理器(2)是描述Java委托事件处理机制,并解释出常用的三种事件监听器实现方法