Swing做的计算器_morak_新浪博客

xxx类:

package src;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JOptionPane;
public class  MyListener implements ActionListener{
 private Test4 t;//创建Test4的一个对象,因为要获取他们身上的内容,也就是Test4中的成员属性和方法
 public MyListener(Test4 t)
 {
  this.t=t;
 }

 public void actionPerformed(ActionEvent e) {//e就是事件
  
  if(e.getSource()==t.btn1)
  {
   //int n1=Integer.parseInt(String.valueOf(t.txt1.getText()));
   //int n2=Integer.parseInt(String.valueOf(t.txt2.getText()));
   //int n=n1+n2;
   //t.txt3.setText(String.valueOf(n));
   int n1=Integer.parseInt(t.txt1.getText());
   int n2=Integer.parseInt(t.txt2.getText());
   int n=n1+n2;
   t.txt3.setText(String.valueOf(n));
   
 
  }
  if(e.getSource()==t.btn2)
  {
   int n1=Integer.parseInt(t.txt1.getText());
   int n2=Integer.parseInt(t.txt2.getText());
   int n=n1-n2;
   t.txt3.setText(String.valueOf(n));
  }
  if(e.getSource()==t.btn3)
  {
   int n1=Integer.parseInt(t.txt1.getText());
   int n2=Integer.parseInt(t.txt2.getText());
   int n=n1*n2;
   t.txt3.setText(String.valueOf(n));
  }
  if(e.getSource()==t.btn4)
  {
   int n1=Integer.parseInt(t.txt1.getText());
   int n2=Integer.parseInt(t.txt2.getText());
   try
   {
   int n=n1/n2;
   t.txt3.setText(String.valueOf(n));
   }
   catch(Exception e1)
   {
            JOptionPane.showMessageDialog(null, "除数不能为0", "警告", JOptionPane.ERROR_MESSAGE);

   }
   
  }
 }
 
}

 

 

 

测试类:

package src;

import java.awt.BorderLayout;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Test4 {
 JFrame frame=new JFrame();
 JPanel p1=new JPanel();
 JPanel p2=new JPanel();
 JPanel p3=new JPanel();
 
 JLabel label1=new JLabel("输入两个数");
 JLabel label2=new JLabel("结果:");
 JTextField txt1=new JTextField(10);
 JTextField txt2=new JTextField(10);
 JTextField txt3=new JTextField(10);
 JButton btn1=new JButton("+");
 JButton btn2=new JButton("-");
 JButton btn3=new JButton("*");
 JButton btn4=new JButton("/");
 ActionListener a1=new MyListener(this);
 ActionListener a2=new MyListener(this);
 ActionListener a3=new MyListener(this);
 ActionListener a4=new MyListener(this);//利用自己定义的xxx类进行创建xxx对象,如果涉及到
 //用到其他类型的参数则进行传参this
 
 public Test4()
 {
  btn1.addActionListener(a1);
     btn2.addActionListener(a2);
  btn3.addActionListener(a3);
  btn4.addActionListener(a4);//对每一个按钮都要注册监听!参数为ActionListener
  p1.add(label1);
  p1.add(txt1);
  p1.add(txt2);
  p2.add(btn1);
  p2.add(btn2);
  p2.add(btn3);
  p2.add(btn4);
  p3.add(label2);
  p3.add(txt3);
  frame.getContentPane().add(p1,BorderLayout.NORTH);
  frame.getContentPane().add(p2,BorderLayout.CENTER);
  frame.getContentPane().add(p3,BorderLayout.SOUTH);
  frame.setBounds(100,100,400,150);
  frame.setDefaultCloseOperation(3);
  frame.setVisible(true);
 }


 public static void main(String[] args) {
  Test4 t=new Test4();

 }

}

已投稿到:
郑重声明:资讯 【Swing做的计算器_morak_新浪博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——