java Swing 简单计算.

来源:百度知道 编辑:UC知道 时间:2024/05/27 03:12:41
package one;

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;

public class Test1 extends JFrame {

private JTextField txt1 = new JTextField(5);
private JTextField txt2 = new JTextField(5);
private JTextField txt3 = new JTextField(5);

private JLabel lbl = new JLabel("+");
private JButton btn = new JButton("=");
private JPanel panel = new JPanel();
Num n = new Num();

public Test1() {

panel.add(this.txt1);
panel.add(this.lbl);
panel.add(this.txt2);
panel.add(this.btn);
panel.add(this.txt3);
btn.addActionListener(n);
this.txt3.setEditable(false);
this.getContentPane().add(panel);
this.setSize(300, 200);
this.setDe

//你在监听的那个类中用的JTextField全是属于Num那个类的.而在类中并没有
//设置这些值.想你的程序正常运行也可以在Test1类的构造函数最后加上
//n.setTxt1(txt1);
//n.setTxt2(txt2);
//n.setTxt3(txt3);

//当然也可以如下这样写
package one;

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;

public class Test1 extends JFrame {

private JTextField txt1 = new JTextField(5);
private JTextField txt2 = new JTextField(5);
private JTextField txt3 = new JTextField(5);

private JLabel lbl = new JLabel("+");
private JButton btn = new JButton("=");
private JPanel panel = new JPanel();
Num n = new Num(this);

public Test1() {

panel.add(this.txt1);
panel.add(this.lbl);
panel.add(this.txt2);
panel.a