新手求教JTextField的问题# Java - 爪哇娇娃
w*n
1 楼
刚学JAVA一周。尝试用JTextField的时候发现JTextField显示的文本不会变。
代码如下。就是把文本框里的内容print到中间。
现在的问题是是在文本框输入新的文本时文本框显示的永远是“hello”,但是getText
得到的内容又确实是刚输入的文本。也就是说除了显示的问题之外其他一切正常。
import acm.program.*;
import acm.graphics.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class test extends GraphicsProgram {
public void init(){
setSize(600, 600);
testField = new JTextField (15);
testField.setText("hello");
this.add(testField, SOUTH);
testField.addActionListener(this);
addActionListeners();
}
public void actionPerformed (ActionEvent e){
if (e.getSource().equals(testField)){
GLabel testLabel = new GLabel(testField.getText());;
add(testLabel, getWidth()/2, getHeight()/2);
testField.setText("hululu");
}
}
private JTextField testField;
}
代码如下。就是把文本框里的内容print到中间。
现在的问题是是在文本框输入新的文本时文本框显示的永远是“hello”,但是getText
得到的内容又确实是刚输入的文本。也就是说除了显示的问题之外其他一切正常。
import acm.program.*;
import acm.graphics.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class test extends GraphicsProgram {
public void init(){
setSize(600, 600);
testField = new JTextField (15);
testField.setText("hello");
this.add(testField, SOUTH);
testField.addActionListener(this);
addActionListeners();
}
public void actionPerformed (ActionEvent e){
if (e.getSource().equals(testField)){
GLabel testLabel = new GLabel(testField.getText());;
add(testLabel, getWidth()/2, getHeight()/2);
testField.setText("hululu");
}
}
private JTextField testField;
}