使用JTextArea的append方法苦苦挣扎

时间:2014-12-03 18:32:06

标签: java swing jtextarea

这是我正在努力的代码。它拒绝使用新文本修改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);
}

}

1 个答案:

答案 0 :(得分:4)

50的列宽大于框架的宽度,因此添加的文本显示在屏幕外。减少其值以适合父窗口

textArea = new JTextArea(10, 35);

请勿使用setPrerredSize。让布局管理器完成其工作,并在添加所有组件后调用pack