这是我正在努力的代码。它拒绝使用新文本修改JTextArea。我创建窗口并将其设置为在项目的主要功能中可见。 谢谢。
编辑: 通过拒绝,我的意思是JTextArea将不会显示文本。它只是保持空白。我没有得到错误或异常。这都是合乎逻辑的。
class Window extends JFrame{
protected JTextArea text;
public Window() {
setTitle("Create a list of names");
setSize(500,400);
Container containerPane = getContentPane();
JPanel jp = new JPanel();
text = new JTextArea(10,50);
text.setPreferredSize(new Dimension(256,256) );
text.setEditable(false);
JScrollPane scrollText = new JScrollPane(text);
scrollText.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
jp.add(scrollText);
containerPane.add(jp, BorderLayout.CENTER);
text.append("Test");
}
public static void main(String[] args) {
Window w = new Window();
w.setVisible(true);
}
}
答案 0 :(得分:4)
50
的列宽大于框架的宽度,因此添加的文本显示在屏幕外。减少其值以适合父窗口
textArea = new JTextArea(10, 35);
请勿使用setPrerredSize
。让布局管理器完成其工作,并在添加所有组件后调用pack
。