【发布时间】:2012-10-08 06:56:27
【问题描述】:
我的目标是在 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;
}
【问题讨论】:
-
你能评论一下actionPerformed的整个逻辑,然后再试一次。
-
已将其注释掉 - 当我尝试在 Jtextfield 中写入时没有任何显示。我尝试注释掉addlistener,不同组合的逻辑和方法。
-
如果我创建一个 JFrame 并添加 JTextField 它工作正常,所以我想这与我使用 acm (consoleprogram) 的事实有关?
标签: java swing jtextfield visible