import javax.swing.*; import java.awt.*; import java.awt.event.*; class Calculator extends JFrame implements ActionListener { JTextField Display = new JTextField(16); JButton[] btn = new JButton[10]; JButton btnPlus = new JButton(" + "); JButton btnMinus = new JButton(" - "); JButton btnMultiply = new JButton(" * "); JButton btnDivide = new JButton(" / "); JButton btnEqual = new JButton(" = "); int num1=0,num2=0,num3=0,count1=0,count2=0; int operator=0; Calculator() { for(int i=0;i <btn.length;i++) { btn[i] = new JButton(" "+String.valueOf(i)+" "); } setSize(220,300); setTitle("Calculator"); setDefaultCloseOperation(EXIT_ON_CLOSE); validate(); setLayout(new FlowLayout()); add(Display); Display.setEditable(false); for(int i=0;i<10;i++) { add(btn[i]); btn[i].addActionListener(this); } add(btnPlus);add(btnMinus);add(btnMultiply);add(btnDivide);add(btnEqual); btnPlus.addActionListener(this); btnMinus.addActionListener(this); btnMultiply.addActionListener(this); btnDivide.addActionListener(this); btnEqual.addActionListener(this); setVisible(true); } public void actionPerformed(ActionEvent A) { int i=0; count1++; if(A.getSource()!=btnPlus&&A.getSource()!=btnMinus&&A.getSource()!=btnMultiply &&A.getSource()!=btnDivide&&A.getSource()!=btnEqual) { while(i<10) { if(A.getSource()==btn[i]) { num1=i; if(count1>1) { num1=num2*10+i; } i=10; } i++; } num2=num1; Display.setText(""+num1); } else if(A.getSource()==btnPlus) { if(count2==0) { num3=num1; num2=0; operator=1; count2++; } else { num3+=num1; num2=0; count2++; operator=1; } } else if(A.getSource()==btnMinus) { if(count2==0) { num3=num1; num2=0; operator=2; count2++; } else { num3-=num1; num2=0; count2++; operator=2; } } else if(A.getSource()==btnMultiply) { if(count2==0) { num3=num1; num2=0; operator=3; count2++; } else { num3*=num1; num2=0; count2++; operator=3; } } else if(A.getSource()==btnDivide) { if(count2==0) { num3=num1; num2=0; operator=4; count2++; } else { num3/=num1; num2=0; operator=4; count2++; } } else if(A.getSource()==btnEqual) { switch(operator) { case 1: num3+=num1; num1=0; break; case 2: num3-=num1; num1=0; break; case 3: num3*=num1; num1=1; break; case 4: num3/=num1; num1=0; break; case 5: case 6: case 7: case 8: case 9: case 0: break; } Display.setText(""+num3); count1=0; count2=0; } } public static void main(String[] args) { new Calculator(); } }
import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class ccc { int a,b; JFrame f; JPanel p; JTextField t1,t2,t3; JButton b1,b2; GridLayout g; JLabel l1,l2,l3,l4; public ccc(){ f = new JFrame(); p = new JPanel(); b1 = new JButton("求和"); b1.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { a = Integer.parseInt (t1.getText()); b = Integer.parseInt (t2.getText()); int c = (a+b); t3.setText(""+c); } }); b2 = new JButton("清除"); b2.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { t1.setText(""); t2.setText(""); t3.setText(""); } }); t3 = new JTextField(10); l1 = new JLabel("加数1"); l3 = new JLabel(""); l4 = new JLabel(""); t1 = new JTextField(10); l2 = new JLabel("加数2"); t2 = new JTextField(10); g = new GridLayout(3,3); p.setLayout(g); f.setSize(400, 300);; f.add(p); p.add(b1);p.add(b2); p.add(l1);p.add(l2); f.setVisible(true); p.add(l1);p.add(t1);p.add(l3); p.add(l2); p.add(t2);p.add(l4); p.add(b1);p.add(t3);p.add(b2); } public static void main(String[] args) { new ccc(); } }