GUI求回调函数

GUI创建3个动态文本文框,在前面2个输入2个实数,点击按钮,在第三个文本文框中输出,实现输入2个实数的加或减或乘或除,

package baiduKnow;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
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;

/**
* @author 18388138
* @功能 在两个文本框中分别输入两个实数,点加法按钮将计算机结果在第三个文本框中显示
*/
public class TestGUIButtonAdd extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private JPanel jp1 = new JPanel();
private JPanel jp2 = new JPanel();
private JPanel jp3 = new JPanel();
private JPanel jp4 = new JPanel();
private JPanel jp = new JPanel();
private JButton btnAdd = new JButton("加");
private JLabel lbl1 = new JLabel("请输入第一个实数:");
private JLabel lbl2 = new JLabel("请输入第二个实数:");
private JLabel lblResult = new JLabel("计算结果:");
private JTextField txt1 = new JTextField(10);
private JTextField txt2 = new JTextField(10);
private JTextField txtResult = new JTextField(10);
public TestGUIButtonAdd() {
this.setLayout(new BorderLayout());
this.setTitle("两个实数相加");
jp.setLayout(new BorderLayout());
jp1.add(lbl1);
jp1.add(txt1);
jp.add(jp1, BorderLayout.NORTH);
jp2.add(lbl2);
jp2.add(txt2);
jp.add(jp2, BorderLayout.CENTER);
jp3.add(lblResult);
jp3.add(txtResult);
jp.add(jp3, BorderLayout.SOUTH);
this.add(jp, BorderLayout.NORTH);
btnAdd.addActionListener(this);
jp4.add(btnAdd);
this.add(jp4, BorderLayout.CENTER);
this.setSize(300, 300);
this.setLocationRelativeTo(null);
this.setResizable(false);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public static void main(String[] args) {
new TestGUIButtonAdd();
}

@Override
public void actionPerformed(ActionEvent e) {

double d1 = Double.valueOf(txt1.getText()); //获取第一个文本框的内容
double d2 = Double.valueOf(txt2.getText()); //获取第二个文本框的内容
double result = d1 + d2;//加法计算
String str = String.valueOf(result);
txtResult.setText(str);//将结果设置到第三个文本框
}
}
哪里看不懂 可以追问,在eclipse中测试没问题
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-03
0.0.
相似回答