📄 jjisuanqi.java
字号:
package com.luo.test;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Jjisuanqi extends JFrame {
JButton[] b = new JButton[16];
JPanel pa,pb;
JTextField t;
JLabel l;
StringBuffer strb;
int arg = 0;
boolean start = true;
String op = "=";
public Jjisuanqi (String titel){
super(titel);
this.go();
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
setVisible(false);
dispose();
System.exit(0);
}
});
}
private void go() {
pa = new JPanel();
pb = new JPanel(new GridLayout(4,4));
class ButtenListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
String s = e.getActionCommand();
if('0'<=s.charAt(0) && s.charAt(0) <= '9'){
if(start)t.setText(e.getActionCommand());
else t.setText(t.getText()+e.getActionCommand());
start = false;
}
else{
if(start){
if(s.equals("-")){
t.setText(s);start = false;
}
else op = s;
}
else{
int x = Integer.parseInt(t.getText());
cauleate(x);
op = s;
start = true;
}
}
}
private void cauleate(int x) {
if(op.equals("+")) arg +=x;
else if (op.equals("-")) arg -=x;
else if (op.equals("*")) arg *=x;
else if (op.equals("/")) arg /=x;
else if (op.equals("=")) arg =x;
t.setText(""+arg);
}
}
for(int i = 0;i<10;i++){
b[i] = new JButton(new Integer(i).toString());
b[i].addActionListener(new ButtenListener());
}
b[10] = new JButton("CE");b[10].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
t.setText(strb.toString());
}
});
b[11] = new JButton("+");b[11].addActionListener(new ButtenListener());
b[12] = new JButton("-");b[12].addActionListener(new ButtenListener());
b[13] = new JButton("*");b[13].addActionListener(new ButtenListener());
b[14] = new JButton("/");b[14].addActionListener(new ButtenListener());
b[15] = new JButton("=");b[15].addActionListener(new ButtenListener());
t = new JTextField("",25);t.setEditable(false);
l = new JLabel("0",Label.RIGHT);
strb = new StringBuffer(t.getText());
pb.add(b[9]);pb.add(b[8]);pb.add(b[7]);pb.add(b[14]);
pb.add(b[6]);pb.add(b[5]);pb.add(b[4]);pb.add(b[13]);
pb.add(b[3]);pb.add(b[2]);pb.add(b[1]);pb.add(b[12]);
pb.add(b[0]);pb.add(b[11]);pb.add(b[10]);pb.add(b[15]);
pa.add(t);
this.setBounds(300,200,5,10);
this.setSize(300,200);
this.add(pa,BorderLayout.NORTH);
this.add(pb,BorderLayout.CENTER);
this.setVisible(true);
}
class MyLetion implements ActionListener{
public void actionPerformed(ActionEvent e) {
String s = e.getActionCommand();
if(start){
if(s.equals("-")){
t.setText(s);start = false;
}
else op = s;
}
else{
int x = Integer.parseInt(t.getText());
cauleate(x);
op = s;
start = true;
}
}
private void cauleate(int x) {
if(op.equals("+")) arg +=x;
else if (op.equals("-")) arg -=x;
else if (op.equals("*")) arg *=x;
else if (op.equals("/")) arg /=x;
else if (op.equals("=")) arg =x;
t.setText(""+arg);
}
}
public static void main(String[] args) {
new Jjisuanqi("计算器");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -