📄 calculator.java
字号:
/*
* 创建日期 2006-1-25
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
package ch4;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Calculator extends JFrame{
private JButton btnOk ;
private JButton btnClear ;
private JTextField text1;
private JTextField text2;
private JTextField text3;
private JTextField text4;
private JLabel label1;
private JLabel label2;
private JLabel label3;
private JLabel label4;
public Calculator(){
createComponents();
registerEventHandlers();
layoutComponents();
setTitle("简易计算器");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
}
public void createComponents(){
btnOk = new JButton("计算");
btnClear = new JButton("清除");
text1 = new JTextField(8);
text2 = new JTextField(8);
text3 = new JTextField(8);
text4 = new JTextField(8);
label1 = new JLabel("操作数1");
label2 = new JLabel("运算数 ");
label3 = new JLabel("操作数2");
label4 = new JLabel("结果 ");
}
public void layoutComponents(){
Container container = this.getContentPane();
container.setLayout(new GridLayout(5, 1));
JPanel panel1 = new JPanel();
panel1.setLayout(new FlowLayout());
panel1.add(label1);
panel1.add(text1);
JPanel panel2 = new JPanel();
panel2.setLayout(new FlowLayout());
panel2.add(label2);
panel2.add(text2);
JPanel panel3 = new JPanel();
panel3.add(label3);
panel3.add(text3);
JPanel panel4 = new JPanel();
panel4.add(label4);
panel4.add(text4);
JPanel panel5 = new JPanel();
panel5.add(btnOk);
panel5.add(btnClear);
container.add(panel1);
container.add(panel2);
container.add(panel3);
container.add(panel4);
container.add(panel5);
}
public void registerEventHandlers(){
btnOkActionEventHander hander1 = new btnOkActionEventHander();
btnOk.addActionListener(hander1);
btnClearActionEventHander hander2 = new btnClearActionEventHander();
btnClear.addActionListener(hander1);
}
public class btnOkActionEventHander implements ActionListener{
public void actionPerformed(ActionEvent e){
float op1=Float.parseFloat(text1.getText());
float op2=Float.parseFloat(text3.getText());
//String str=
char operator=(text2.getText()).charAt(0);
switch(operator)
{
case '+':
op1+=op2;
break;
case '-':
op1-=op2;
break;
case '*':
op1*=op2;
break;
case '/':
op1/=op2;
break;
case '%':
op1%=op2;
break;
default:
JOptionPane.showMessageDialog(null,"错误!输入的不是运算符号!");
break;
}
text4.setText(String.valueOf(op1));
}
}
public class btnClearActionEventHander implements ActionListener{
public void actionPerformed(ActionEvent e){
text1.setText("");
text2.setText("");
text3.setText("");
text4.setText("");
}
}
public static void main(String[] args){
JFrame.setDefaultLookAndFeelDecorated(true);
Calculator frame= new Calculator();
frame.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -