java图形化界面实现简单计算器.docx
- 文档编号:14726844
- 上传时间:2023-06-26
- 格式:DOCX
- 页数:18
- 大小:82.22KB
java图形化界面实现简单计算器.docx
《java图形化界面实现简单计算器.docx》由会员分享,可在线阅读,更多相关《java图形化界面实现简单计算器.docx(18页珍藏版)》请在冰点文库上搜索。
java图形化界面实现简单计算器
学号11710115
天津城建大学
Java语言程序设计C
实验报告
实验5:
计算器
学生姓名
路江飞
班级
11卓越7班
一、实验目的
1.掌握Java图形组件和布局管理器的使用;
2.掌握使用Java事件处理机制的使用;
3.掌握图形界面的各种控件的使用,如:
标签、文本框、按钮、复选框、列表框、窗框等。
二、实验要求
1.采用布局管理器进行界面的布局;
2.学会对不同的事件用相应的事件处理器;
3.写出实验报告。
要求记录编译和执行Java程序当中的系统错误信息提材示,并给出解决办法。
三、实验内容
1.在随堂练习的简单计算器基础上设计一个多功能计算器。
包括复杂的功能:
比如记忆功能,三角函数,成方,对数等等。
五、实验结果
文件1:
packagecomputer;
importjava.awt.BorderLayout;
publicclassCompuerextendsJFrame{
privateJPanelcontentPane;
privateJTextFieldtextField;
privateJTextFieldtextField_1;
privateJTextFieldtextField_2;
privateJTextFieldtextField_3;
/**
*Launchtheapplication.
*/
publicstaticvoidmain(String[]args){
EventQueue.invokeLater(newRunnable(){
publicvoidrun(){
//运行程序时,点击按钮输入公式,当点击等于号时显示出计算结果
try{
Compuerframe=newCompuer();
frame.setVisible(true);
Timetime=newTime();
time.setTime(frame.textField_3);
Threadthread=newThread(time);
thread.start();
}
catch(Exceptione){
e.printStackTrace();
}
}
});
}
/**
*Createtheframe.
*/
publicCompuer(){
setTitle("\u8BA1\u7B97\u5668");
setName("");
finalStringBuffers=newStringBuffer();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100,100,412,448);
contentPane=newJPanel();
contentPane.setBorder(newEmptyBorder(5,5,5,5));
setContentPane(contentPane);
contentPane.setLayout(null);
textField=newJTextField();
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=newJTextField();//文本框textField_1,显示公式
textField_1.setBounds(10,102,368,30);
contentPane.add(textField_1);
textField_1.setColumns(10);
textField_2=newJTextField();//文本框textField_2.显示计算结果
textField_2.setBounds(10,142,368,30);
contentPane.add(textField_2);
textField_2.setColumns(10);
textField_3=newJTextField();//文本框textField_3,显示电子表
textField_3.setForeground(newColor(205,133,63));
textField_3.setBounds(10,60,368,30);
contentPane.add(textField_3);
textField_3.setColumns(10);
//按钮'清零',监听到按钮后清零
JButtonbtnC=newJButton("\u6E05\u96F6");
btnC.setForeground(Color.RED);
btnC.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
textField_1.setText("");
textField_2.setText("");
s.delete(0,s.length());
}
});
btnC.setBounds(10,182,183,44);
contentPane.add(btnC);
//按钮'退格',监听到按钮后退格
JButtonbutton_16=newJButton("\u9000\u683C");
button_16.setForeground(Color.RED);
button_16.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
s.delete(s.length()-1,s.length());
Stringstr=s.toString();
textField_1.setText(str);
}
});
button_16.setBounds(193,182,185,44);
contentPane.add(button_16);
//按钮'*',监听到按钮后显示*
JButtonbutton_1=newJButton("*");
button_1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
s.append('*');
Stringstr=s.toString();
textField_1.setText(str);
}
});
button_1.setBounds(285,271,93,44);
contentPane.add(button_1);
//按钮'6',监听到按钮后显示6
JButtonbutton_2=newJButton("6");
button_2.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
s.append('6');
Stringstr=s.toString();
textField_1.setText(str);
}
});
button_2.setBounds(193,271,93,44);
contentPane.add(button_2);
//按钮'5',监听到按钮后显示5
JButtonbutton_3=newJButton("5");
button_3.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
s.append('5');
Stringstr=s.toString();
textField_1.setText(str);
}
});
button_3.setBounds(100,271,93,44);
contentPane.add(button_3);
//按钮'4',监听到按钮后显示4
JButtonbutton_4=newJButton("4");
button_4.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
s.append('4');
Stringstr=s.toString();
textField_1.setText(str);
}
});
button_4.setBounds(10,271,93,44);
contentPane.add(button_4);
//按钮'-',监听到按钮后显示-
JButtonbutton_5=newJButton("-");
button_5.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
s.append('-');
Stringstr=s.toString();
textField_1.setText(str);
}
});
button_5.setBounds(285,313,93,44);
contentPane.add(button_5);
//按钮'3',监听到按钮后显示3
JButtonbutton_6=newJButton("3");
button_6.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
s.append('3');
Stringstr=s.toString();
textField_1.setText(str);
}
});
button_6.setBounds(193,313,93,44);
contentPane.add(button_6);
//按钮'2',监听到按钮后显示2
JButtonbutton_7=newJButton("2");
button_7.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
s.append('2');
Stringstr=s.toString();
textField_1.setText(str);
}
});
button_7.setBounds(100,313,93,44);
contentPane.add(button_7);
//按钮'1',监听到按钮后显示1
JButtonbutton_8=newJButton("1");
button_8.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
s.append('1');
Stringstr=s.toString();
textField_1.setText(str);
}
});
button_8.setBounds(10,313,93,44);
contentPane.add(button_8);
//按钮'+',监听到按钮后显示+
JButtonbutton_9=newJButton("+");
button_9.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
s.append('+');
Stringstr=s.toString();
textField_1.setText(str);
}
});
button_9.setBounds(285,355,93,44);
contentPane.add(button_9);
//按钮'=',点击按钮'=',将计算出结果**********************************
JButtonbutton_10=newJButton("=");
button_10.setForeground(Color.RED);
button_10.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
Stringstr=s.toString();
Stringss=str;
Stringindex="[-]|[+]|[/]|[*]";
Stringnumber[]=str.split(index);
intcount=number.length;
doublenum[]=newdouble[count];
for(inti=0;i num[i]=Double.parseDouble(number[i]); } doubleresult=0; if(ss.contains("+")){ result=num[0]; for(inti=1;i result+=num[i]; } } if(ss.contains("-")){ result=num[0]; for(inti=1;i result-=num[i]; } } if(ss.contains("*")){ result=num[0]; for(inti=1;i result*=num[i]; } } if(ss.contains("/")){ result=num[0]; for(inti=1;i if(num[i]==0){//除数等于0时,显示错误信息 textField_2.setText("出错"); return; } else{ result/=num[i]; } } } //inti=(int)Math.round(result*100); //result=(double)i/100; textField_2.setText(""+result); } }); button_10.setBounds(193,355,93,44); contentPane.add(button_10); //按钮'.',监听到按钮后显示。 . JButtonbutton_11=newJButton("."); button_11.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ s.append('.'); Stringstr=s.toString(); textField_1.setText(str); } }); button_11.setBounds(10,355,93,44); contentPane.add(button_11); //按钮'0',监听到按钮后显示0 JButtonbutton_12=newJButton("0"); button_12.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ s.append('0'); Stringstr=s.toString(); textField_1.setText(str); } }); button_12.setBounds(100,355,93,44); contentPane.add(button_12); //按钮'/',监听到按钮后显示/ JButtonbutton=newJButton("/"); button.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ s.append('/'); Stringstr=s.toString(); textField_1.setText(str); } }); button.setBounds(285,227,93,44); contentPane.add(button); //按钮'9',监听到按钮后显示9 JButtonbutton_13=newJButton("9"); button_13.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ s.append('9'); Stringstr=s.toString(); textField_1.setText(str); } }); button_13.setBounds(193,227,93,44); contentPane.add(button_13); //按钮'8',监听到按钮后显示8 JButtonbutton_14=newJButton("8"); button_14.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ s.append('8'); Stringstr=s.toString(); textField_1.setText(str); } }); button_14.setBounds(100,227,93,44); contentPane.add(button_14); //按钮'7',监听到按钮后显示7 JButtonbutton_15=newJButton("7"); button_15.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ s.append('7'); Stringstr=s.toString(); textField_1.setText(str); } }); button_15.setBounds(10,227,93,44); contentPane.add(button_15); } } 文件2: importjava.util.Date; importjavax.swing.JTextField; publicclassTimeimplementsRunnable{ JTextFieldtext; publicvoidsetTime(JTextFieldtext){ this.text=text; } @Override publicvoidrun(){ //TODOAuto-generatedmethodstub try{ while(true){ Datedata=newDate(); Strings=data.toString(); text.setText(s); Thread.sleep(1000); } } catch(InterruptedExceptione){ } } } 运行结果: 加法: 减法: 乘法: 除法(有意义): 除法(无意义):
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 图形 界面 实现 简单 计算器