我的目标是在JTextField中编写用户可见的内容,并在控制台中显示此文本。 截至目前,JTextField正在接受文本,但没有显示任何内容。没有光标,没有文字。
我尝试过使用textfield.setEditable(true),textfield.setEnable(true)以及不同的前景和背景颜色,但没有任何反应。
奇怪的是我可以使用textField.setText(“随机文本”)并显示,但我无法删除它或在程序运行时编辑它并且它不包含在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;
}
答案 0 :(得分:1)
如果您正在使用acm.program.ConsoleProgram
,则可能需要按照建议here使用Java SE 5(版本1.5)。
附录:作为@Tor评论,{J}的更高版本可以接受java.awt.TextField
。