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();
}
}