我的目标是在 JTextField 中编写用户可见的内容并在控制台中显示此文本。截至目前, JTextField 正在接受文本,但没有显示。没有光标,没有文字。
我尝试使用 textfield.setEditable(true)、textfield.setEnable(true) 和不同的前景色和背景色,但没有任何反应。
奇怪的是,我可以使用 textField.setText("Random text") 并显示它,但我无法在程序运行时删除或编辑它,并且它不包含在 getText() 的输出中。
这是程序:
import acm.program.*;
import java.awt.Color;
import java.awt.event.*;
import javax.swing.*;
@SuppressWarnings("serial")
public class TextFieldTest extends ConsoleProgram implements SomeConstants {
public void init() {
setSize(APPLICATION_WIDTH, APPLICATION_HEIGHT);
textField = new JTextField(20);
add(textField, SOUTH);
textField.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == textField)
println("Hi, " + textField.getText());
}
private JTextField textField;
}