我正在尝试使用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");
}
}
}
答案 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
}
}