使用添加按钮java在文本字段中添加数字

时间:2013-01-08 03:59:23

标签: java button applet awt actionlistener

我正在尝试使用applet编写textfield和一个按钮。主要的问题是,我似乎无法弄清楚如何添加多个数字,如一个数字,然后点击添加按钮,然后数字然后添加按钮,并在同一文本字段中显示总数,如基本的计算器程序。这是我到目前为止所得到的:

import java.applet.Applet;
import java.awt.Button;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


public class addition extends Applet implements ActionListener {
    TextField tf;
    Button btnAdd;
    Button btnEqual;
    Button btnExit;

    public addition() {
        tf = new TextField(15);
        btnAdd = new Button(" + ");
        btnEqual = new Button(" = ");
        btnExit = new Button("exit");
    }

    public void init() {
        add(tf);
        add(btnAdd);
        add(btnEqual);
        add(btnExit);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == btnAdd.getFocusListeners()) {
            tf.setText("text goes here");
        }
    }
}

1 个答案:

答案 0 :(得分:0)

尝试

tf.repaint();

告诉Component再次使用新值进行布局。

这是编程中的经典失败。这仅通过有效的数据绑定自动进行,例如当使用数据绑定设置表时。

修改 到目前为止,您的代码看起来很好,操作的来源是按钮本身而不是FocusListener:

@Override
public void actionPerformed(ActionEvent e) {
    if (e.getSource() == btnAdd) {
        tf.setText("text goes here");
        // create sum here (class variable, should be 0 at start)
        // update TF with new value
        // tell TF or Panel underneath to layout newly  
    }
    if (e.getSource() == btnEqual){
        // update value
        // layout newly
    }
}