0

我的目标是在 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;
}
4

1 回答 1

1

如果您正在使用acm.program.ConsoleProgram,您可能需要使用 Java SE 5(1.5 版),如此处所建议

附录:正如@Tor 评论,java.awt.TextField在 JRE 的更高版本下可能是可以接受的。

于 2012-10-08T14:06:11.127 回答