当前位置:文档之家› java图形化界面实现简单计算器

java图形化界面实现简单计算器

学号天津城建大学Java 语言程序设计C实验报告实验5:计算器学生姓名路江飞班级11卓越7班一、实验目的1.掌握Java图形组件与布局管理器的使用;2.掌握使用Java事件处理机制的使用;3.掌握图形界面的各种控件的使用,如:标签、文本框、按钮、复选框、列表框、窗框等。

二、实验要求1.采用布局管理器进行界面的布局;2.学会对不同的事件用相应的事件处理器;3.写出实验报告。

要求记录编译与执行Java程序当中的系统错误信息提材示,并给出解决办法。

三、实验内容1.在随堂练习的简单计算器基础上设计一个多功能计算器。

包括复杂的功能:比如记忆功能,三角函数,成方,对数等等。

五、实验结果文件1:package computer;import java、awt、BorderLayout;public class Compuer extends JFrame {private JPanel contentPane;private JTextField textField;private JTextField textField_1;private JTextField textField_2;private JTextField textField_3;/*** Launch the application、*/public static void main(String[] args) {EventQueue、invokeLater(new Runnable() {public void run() {//运行程序时,点击按钮输入公式,当点击等于号时显示出计算结果try {Compuer frame = new Compuer();frame、setVisible(true);Time time=new Time();time、setTime(frame、textField_3);Thread thread=new Thread(time);thread、start();}catch (Exception e) {e、printStackTrace();}}});}/*** Create the frame、*/public Compuer() {setTitle("\u8BA1\u7B97\u5668");setName("");final StringBuffer s=new StringBuffer();setDefaultCloseOperation(JFrame、EXIT_ON_CLOSE);setBounds(100, 100, 412, 448);contentPane = new JPanel();contentPane、setBorder(new EmptyBorder(5, 5, 5, 5));setContentPane(contentPane);contentPane、setLayout(null);textField = new JTextField();textField、setEnabled(false);textField、setLocale(Locale、UK);textField、setForeground(Color、PINK);textField、setText(" \u6B22\u8FCE\u4F7F\u7528\u8BA1\u7B97\u5668");textField、setBounds(10, 20, 368, 30);contentPane、add(textField);textField、setColumns(10);textField_1 = new JTextField();//文本框textField_1,显示公式textField_1、setBounds(10, 102, 368, 30);contentPane、add(textField_1);textField_1、setColumns(10);textField_2 = new JTextField();//文本框textField_2、显示计算结果textField_2、setBounds(10, 142, 368, 30);contentPane、add(textField_2);textField_2、setColumns(10);textField_3 = new JTextField();//文本框textField_3,显示电子表textField_3、setForeground(new Color(205, 133, 63));textField_3、setBounds(10, 60, 368, 30);contentPane、add(textField_3);textField_3、setColumns(10);//按钮'清零',监听到按钮后清零JButton btnC = new JButton("\u6E05\u96F6");btnC、setForeground(Color、RED);btnC、addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {textField_1、setText("");textField_2、setText("");s、delete(0, s、length());}});btnC、setBounds(10, 182, 183, 44);contentPane、add(btnC);//按钮'退格',监听到按钮后退格JButton button_16 = new JButton("\u9000\u683C");button_16、setForeground(Color、RED);button_16、addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {s、delete(s、length()-1, s、length());String str=s、toString();textField_1、setText(str);}});button_16、setBounds(193, 182, 185, 44);contentPane、add(button_16);//按钮'*',监听到按钮后显示*JButton button_1 = new JButton("*");button_1、addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {s、append('*');textField_1、setText(str);}});button_1、setBounds(285, 271, 93, 44); contentPane、add(button_1);//按钮'6',监听到按钮后显示6JButton button_2 = new JButton("6");button_2、addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { s、append('6');String str=s、toString();textField_1、setText(str);}});button_2、setBounds(193, 271, 93, 44); contentPane、add(button_2);//按钮'5',监听到按钮后显示5JButton button_3 = new JButton("5");button_3、addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { s、append('5');String str=s、toString();textField_1、setText(str);}});button_3、setBounds(100, 271, 93, 44); contentPane、add(button_3);//按钮'4',监听到按钮后显示4JButton button_4 = new JButton("4");button_4、addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { s、append('4');String str=s、toString();textField_1、setText(str);}});button_4、setBounds(10, 271, 93, 44);contentPane、add(button_4);//按钮'-',监听到按钮后显示-JButton button_5 = new JButton("-");button_5、addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { s、append('-');textField_1、setText(str);}});button_5、setBounds(285, 313, 93, 44); contentPane、add(button_5);//按钮'3',监听到按钮后显示3JButton button_6 = new JButton("3");button_6、addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { s、append('3');String str=s、toString();textField_1、setText(str);}});button_6、setBounds(193, 313, 93, 44); contentPane、add(button_6);//按钮'2',监听到按钮后显示2JButton button_7 = new JButton("2");button_7、addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { s、append('2');String str=s、toString();textField_1、setText(str);}});button_7、setBounds(100, 313, 93, 44); contentPane、add(button_7);//按钮'1',监听到按钮后显示1JButton button_8 = new JButton("1");button_8、addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { s、append('1');String str=s、toString();textField_1、setText(str);}});button_8、setBounds(10, 313, 93, 44);contentPane、add(button_8);//按钮'+',监听到按钮后显示+JButton button_9 = new JButton("+");button_9、addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { s、append('+');textField_1、setText(str);}});button_9、setBounds(285, 355, 93, 44);contentPane、add(button_9);//按钮'=',点击按钮'=',将计算出结果**********************************JButton button_10 = new JButton("=");button_10、setForeground(Color、RED);button_10、addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {String str=s、toString();String ss=str;String index="[-]|[+]|[/]|[*]";String number[]=str、split(index);int count=number、length;double num[]=new double[count];for(int i=0;i<count;i++){num[i]=Double、parseDouble(number[i]);}double result=0;if(ss、contains("+")){result=num[0];for(int i=1;i<count;i++){result+=num[i];}}if(ss、contains("-")){result=num[0];for(int i=1;i<count;i++){result-=num[i];}}if(ss、contains("*")){result=num[0];for(int i=1;i<count;i++){result*=num[i];}}if(ss、contains("/")){result=num[0];for(int i=1;i<count;i++){if(num[i]==0){//除数等于0时,显示错误信息textField_2、setText("出错");return;}else {result/=num[i];}}}//int i=(int)Math、round(result*100);//result=(double)i/100;textField_2、setText(""+result);}});button_10、setBounds(193, 355, 93, 44); contentPane、add(button_10);//按钮'、',监听到按钮后显示。

相关主题