调整JTextArea的大小

时间:2014-02-16 16:03:58

标签: java swing jpanel jtextarea

我想要做的事情非常简单,但我无法找到解决方案。

我有一个JTextArea添加到JPanel,我希望JTexArea在我调整JPanel大小时调整大小。当我调整JFrame的大小时,我能够让JPanel调整大小,但它似乎对JTextArea的工作方式不同。有任何想法吗?这是我使用的代码。

    public HelpPanel( Map<ComponentType, String> compMap ) {
    super();
    this.componentMap = compMap;
    compDescription = new JTextArea();
    setSize(300, 300);

    JScrollPane scroll = new JScrollPane(compDescription);
    add( scroll );
    compDescription.setPreferredSize(new Dimension(getSize()));
    compDescription.setLineWrap(true); //Wrap the text when it reaches the end of the TextArea.
    compDescription.setWrapStyleWord(true); //Wrap at every word rather than every letter.
    compDescription.setEditable(false); //Text cannot be edited.
    displayDescription();
}

1 个答案:

答案 0 :(得分:1)

super();更改为super(new BorderLayout());

JPanel默认使用FlowLayout,它不会试图强制其组件的大小来填充空间。通过切换到BorderLayout,中心组件(滚动窗格)将被强制匹配面板的大小。