您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > java实验记事本+计算器
1成绩:面向对象原理与Java实践课程实验报告实验4:图形用户界面设计实验姓名____班级___学号____实验地点__软件实验室_实验时间_2010.04.27_指导教师__2一、实验目的:熟悉java.awt包和javax.swing包掌握Java中的事件处理机制二、实验要求:掌握向容器中添加组件以及使用布局管理器对组件进行管理的方法理解Java的事件处理机制,掌握为不同组件编写事件处理程序的方法掌握编写独立运行的窗口界面的方法了解JavaSwing组件的使用方法三、实验内容:1、构造如图1所示的简单计算机界面,并实现加、减、乘、除运算。图1:Calculator2、仿Windows系统中的“记事本”,编写一个如图2所示的记事本软件,可以完成文件的新建、打开、编辑与保存(如果时间充裕,可考虑实现更多的功能)。图2:Notepad四、设计思路:五、程序源代码:1题3//****计算器****importjava.awt.Color;importjava.awt.Container;importjava.awt.FlowLayout;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swing.JTextArea;importjavax.swing.JTextField;publicclassCalculatorextendsJFrame{inti,j,k,p,q;intz=0;char[]ch1;char[]ch2;doublem,n,x;doublesum=0;doublecut=1;doubleProduct=1;doubleexcept=1;JTextAreata;publicCalculator(){super(Calculator);setSize(200,240);setLayout(newFlowLayout());JPanel[]pe={newJPanel(),newJPanel(),newJPanel()};pe[0].setLayout(newFlowLayout());ta=newJTextArea(0,1,17);ta.setEditable(false);pe[0].add(ta);pe[1].setLayout(newFlowLayout(FlowLayout.CENTER,12,4));pe[2].setLayout(newGridLayout(4,4,4,4));finalJButton[]bt1={newJButton(Back),newJButton(CE),newJButton(C)};for(i=0;ibt1.length;i++){pe[1].add(bt1[i]);bt1[i].addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){JButtonb=(JButton)e.getSource();if(b.getActionCommand().equals(Back)){ch1=ta.getText().toCharArray();ta.setText(null);4if(ch1.length1)for(i=0;ich1.length-1;i++){ta.append(+ch1[i]);}elseif(ch1.length=1){ta.setText(0);}q=1;}elseif(b.getActionCommand().equals(CE)){ta.setText(0);q=1;}elseif(b.getActionCommand().equals(C)){ta.setText(0);sum=0;cut=1;Product=1;except=1;z=0;q=1;}}});}JButton[]bt2={newJButton(7),newJButton(8),newJButton(9),newJButton(+),newJButton(4),newJButton(5),newJButton(6),newJButton(-),newJButton(1),newJButton(2),newJButton(3),newJButton(*),newJButton(0),newJButton(.),newJButton(=),newJButton(/)};for(j=0;jbt2.length;j++){pe[2].add(bt2[j]);bt2[j].addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){JButtonb=(JButton)e.getSource();if(b.getActionCommand().equals(1)){if(Double.valueOf(ta.getText())==0){ch2=ta.getText().toCharArray();for(p=0;pch2.length;p++){if(ch2[p]=='.')q=3;}if(q==3)ta.append(1);elseta.setText(1);5}elseta.append(1);}elseif(b.getActionCommand().equals(2)){if(Double.valueOf(ta.getText())==0){ch2=ta.getText().toCharArray();for(p=0;pch2.length;p++){if(ch2[p]=='.')q=3;}if(q==3)ta.append(2);elseta.setText(2);}elseta.append(2);}elseif(b.getActionCommand().equals(3)){if(Double.valueOf(ta.getText())==0){ch2=ta.getText().toCharArray();for(p=0;pch2.length;p++){if(ch2[p]=='.')q=3;}if(q==3)ta.append(3);elseta.setText(3);}elseta.append(3);}elseif(b.getActionCommand().equals(4)){if(Double.valueOf(ta.getText())==0){ch2=ta.getText().toCharArray();for(p=0;pch2.length;p++){if(ch2[p]=='.')q=3;}if(q==3)ta.append(4);else6ta.setText(4);}elseta.append(4);}elseif(b.getActionCommand().equals(5)){if(Double.valueOf(ta.getText())==0){ch2=ta.getText().toCharArray();for(p=0;pch2.length;p++){if(ch2[p]=='.')q=3;}if(q==3)ta.append(5);elseta.setText(5);}elseta.append(5);}elseif(b.getActionCommand().equals(6)){if(Double.valueOf(ta.getText())==0){ch2=ta.getText().toCharArray();for(p=0;pch2.length;p++){if(ch2[p]=='.')q=3;}if(q==3)ta.append(6);elseta.setText(6);}elseta.append(6);}elseif(b.getActionCommand().equals(7)){if(Double.valueOf(ta.getText())==0){ch2=ta.getText().toCharArray();for(p=0;pch2.length;p++){if(ch2[p]=='.')q=3;}if(q==3)ta.append(7);7elseta.setText(7);}elseta.append(7);}elseif(b.getActionCommand().equals(8)){if(Double.valueOf(ta.getText())==0){ch2=ta.getText().toCharArray();for(p=0;pch2.length;p++){if(ch2[p]=='.')q=3;}if(q==3)ta.append(8);elseta.setText(8);}elseta.append(8);}elseif(b.getActionCommand().equals(9)){if(Double.valueOf(ta.getText())==0){ch2=ta.getText().toCharArray();for(p=0;pch2.length;p++){if(ch2[p]=='.')q=3;}if(q==3)ta.append(9);elseta.setText(9);}elseta.append(9);}elseif(b.getActionCommand().equals(+)){m=Double.valueOf(ta.getText());sum=m;ta.setText(0);k=1;q=1;}elseif(b.getActionCommand().equals(-)){8m=Double.valueOf(ta.getText());cut=m;ta.setText(0);k=2;q=1;}elseif(b.getActionCommand().equals(*)){m=Double.valueOf(ta.getText());Product=m;ta.setText(0);k=3;q=1;}elseif(b.getActionCommand().equals(/)){m=Double.valueOf(ta.getText());except=m;ta.setText(0);k=4;q=1;}elseif(b.getActionCommand().equals(.)){q=1;ch2=ta.getText().toCharArray();for(p=0;pch2.length;p++){if(ch2[p]=='.')q=2;}if(q==1)ta.append(.);}elseif(b.getActionCommand().equals(0)){if(Double.valueOf(ta.getText())==0){ch2=ta.getText().toCharArray();for(p=0;pch2.length;p++){if(ch2[p]=='.')q=3;}if(q==3)ta.append(0);elseta.setText(0);}elseta.append(0);9}elseif(b.getActionCommand().equals(=)){if(k==1){sum=sum+Double.valueOf(ta.getText());ta.setText(+sum);}elseif(k==2){cut=cut-Double.valueOf(ta.getText());ta.setText(+cut);}elseif(k==3){Product=Produ
本文标题:java实验记事本+计算器
链接地址:https://www.777doc.com/doc-3260663 .html