您好,欢迎访问三七文档
青岛科技大学实验报告姓名:陶浩专业:计算机科学与技术班级:惠普测试171学号:1708090122课程:Java语言程序设计时间:2019.6.12实验项目:第十一次实验:综合练习一一、实验目的将所学知识进行综合运用,模仿设计具有实际意义的应用程序。锻炼使用新类(没有介绍的)类的能力。二、实验要求1.分析应用程序中使用了哪些系统类。2.能根据实际需要使用不同的系统类编写应用程序。三、实验内容(一)阅读并理解下面的程序,为其中的每行代码加上一条注释。packageJava619;importjava.awt.*;//导包importjava.awt.event.*;//导包importjava.applet.*;//导包publicclassKY11_1extendsApplet{//编写Applet小程序,继承Applet类privateintx,y,h,w;//定义x,y,h,w四个变量publicvoidinit(){//初始化方法addMouseListener(newMyPoint());//为Mypoint添加MouseListener监听类}publicvoidpaint(Graphicsg){//绘图方法g.drawOval(x,y,w,h);//通过调用drawOval方法,绘制椭圆}classMyPointimplementsMouseListener{//定义MyPoint类,实现MouseListener接口publicvoidmousePressed(MouseEvente){//实现mousePressed方法功能x=e.getX();//x为当前鼠标在的x轴坐标y=e.getY();//y为当前鼠标在的y轴坐标}publicvoidmouseReleased(MouseEvente){//实现mouseReleased方法w=e.getX()-x;//w为当前鼠标在的x轴坐标和按下鼠标时鼠标的x轴坐标的差值h=e.getY()-y;//h为当前鼠标在的y轴坐标和按下鼠标时鼠标的y轴坐标的差值repaint();//调用awt包下的repaint方法,绘制图形}publicvoidmouseExited(MouseEvente){//实现mouseExited方法}publicvoidmouseEntered(MouseEvente){//实现mouseEntered方法}publicvoidmouseClicked(MouseEvente){//实现mouseClicked方法}}}(二)阅读并理解下面的程序,为其中的每行代码加上一条注释。packageJava619;importjava.awt.*;//导包importjava.awt.event.*;//导包importjava.math.BigDecimal;publicclassMyClass{//定义MyClass类publicstaticvoidmain(String[]args){//主类newMyFrame(汇率转换).Run();//运行窗口}}classMyFrameextendsFrame{//定义MyFrame类,继承Frame类TextFieldnum1,num2;//定义TextField类变量num1,num2publicMyFrame(Strings){//有参构造方法super(s);//形参s为输入进行构造}publicvoidRun(){//构造Run方法num1=newTextField(15);//定义num1为一个15列宽的TextFieldnum2=newTextField(15);//定义num2为一个15列宽的TextFieldnum2.setEditable(false);//使num2无法编辑Labellb1=newLabel(人民币(元));//定义Label类变量lb1,显示人民币(元)Labellb2=newLabel(美元($));//定义Label类变量lb2,显示美元($)Buttonbutton=newButton(汇率转换为);//定义一个Button类变量button,显示汇率转换为button.addActionListener(newListener());//为button添加ActionListenerthis.addWindowListener(newMywindowClosing());//为窗口添加MywindowClosing类的WindowListener方法setLayout(newFlowLayout());//设置面板为流式面板setBackground(Color.red);//设置面板背景色为红色setSize(200,200);//设置面板大小setLocation(400,300);//设置面板位子add(lb1);//添加lb1到面板add(num1);//添加num1到面板add(button);//添加button到面板add(num2);//添加num2到面板add(lb2);//添加lb2到面板setVisible(true);//设置面板可见}publicclassListenerimplementsActionListener{//定义Listener类,实现ActionListener接口publicvoidactionPerformed(ActionEvente){//实现汇率换算方法doublen1=Double.parseDouble(num1.getText());//定义n1为num1的数字doubleans=(double)(n1*100.00/690.94);//定义ans为汇率BigDecimalb=newBigDecimal(ans);//定义b为精确数字ansdoubleans2=b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();//定义ans2为四舍五入num2.setText(+ans2);//将结果显示在num2上}}classMywindowClosingextendsWindowAdapter{//定义MywindowClosing类,继承WindowAdapter类publicvoidwindowClosing(WindowEvente){//实现了窗口关闭后退出程序的方法setVisible(false);//关闭窗口,窗口不可见System.exit(0);//退出程序}}}(三)阅读并理解下面的程序,为其中的每行代码加上一条注释。packageJava619;importjava.awt.*;//导包importjava.awt.event.*;//导包importjava.util.*;//导包importjavax.swing.*;//导包publicclassCalculate{//定义Calculate类privateJTextFieldtx1;//定义JTetxField类变量tx1privateJTextFieldtx2;//定义JTextField类变量tx2privateJTextFieldtx3;//定义JTextField类变量tx3privateJPanelp;//定义JPanel类变量pprivateJComboBoxcho;//定义JComboBox类变量chovoidinit()//初始化方法{JFramef=newJFrame(calculate);//定义一个新JFrame类变量f,标题为calculatef.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭窗口后,程序退出Labellab=newLabel(计算器举例);//定义一个Label类对象lab,显示计算机举例tx1=newJTextField(,5);//设置tx1的内容为空,长度为5tx2=newJTextField(,5);//设置tx2的内容为空,长度为5tx3=newJTextField(,5);//设置tx3的内容为空,长度为5cho=newJComboBox();//初始化chocho.addItem(+);//往cho中添加+cho.addItem(-);//往cho中添加-cho.addItem(*);//往cho中添加*cho.addItem(/);//往cho中添加/JButtonb=newJButton(=);//定义一个JButton类对象b,显示=b.addActionListener(newActionListener()//为b添加监听器{publicvoidactionPerformed(ActionEvente)//监听器具体实现方法{inta=Integer.parseInt(tx1.getText().trim());//将tx1中的数值赋值给int类型变量aintb=Integer.parseInt(tx2.getText().trim());//将tx2中的数值赋值给int类型变量bintsel=cho.getSelectedIndex();//将cho选中的选项编号赋值给int类型变量selintc=0;//初始化结果int类型变量cswitch(sel)//分支语句,根据sel的数值不同,进行四则运算{case0:c=a+b;break;//如果sel=0,则进行加法运算case1:c=a-b;break;//如果sel=1,则进行减法运算case2:c=a*b;break;//如果sel=2,则进行乘法运算case3:c=a/b;break;//如果sel=3,则进行除法运算}Stringd=(newInteger(c)).toString();//将运算所得到的结果转换成字符串的形式赋值给dtx3.setText(d);//将结果输出到tx3中}});p=newJPanel();//初始化面板pp.setLayout(newFlowLayout());//使面板排布为流式排布p.add(tx1);//把tx1添加进面板中p.add(cho);//把cho添加进面板中p.add(tx2);//把tx2添加进面板中p.add(b);//把b添加进面板中p.add(tx3);//把tx3添加进面板中Containerc=f.getContentPane();//初始化一个容器,将f窗口中的组件放入容器c中c.setLayout(newBorderLayout());//设置容器为BorderLayoutc.add(lab,BorderLayout.NORTH);//把lab放在容器的北部c.add(p,BorderLayout.CENTER);//把p放在容器的中央f.pack();//让窗口大小刚好容纳所有组件f.setVisible(true);//窗口可见}publicstaticvoidmain(String[]args)//主方法{Calculatecal=newCalculate();//定义Calculate类对象calcal.init();//初始化cal}}
本文标题:JAVA实验十一
链接地址:https://www.777doc.com/doc-5923865 .html