向FlowLayout Panel Java Swing添加文本区域

时间:2016-12-29 13:03:07

标签: java swing

我正在尝试将一个文本区域添加到具有流程布局的Panel中,但它没有显示在我的GUI上......任何想法都会显示?

private void makeTypes() {
    westPanel.setVisible(false);
    centerPanel.setVisible(false);
    northPanel.setVisible(false);
    contentPane.add(westPanel, BorderLayout.WEST);
    contentPane.add(centerPanel, BorderLayout.CENTER);
    contentPane.add(northPanel, BorderLayout.NORTH);
    // set panel layout and add components
    centerPanel.setLayout(new FlowLayout());
    northPanel.setLayout(new GridLayout(4, 1));
    /**
     * Adding East Panel
     */
    eastPanel.setLayout(new GridLayout(4,1));

    /**
     * Adding text area to Centre Panel
     */
    a1=new JTextArea();
    centerPanel.add(a1);
    a1.setVisible(true);

}

1 个答案:

答案 0 :(得分:1)

centerPanel是不可见的:

centerPanel.setVisible(false);

所以没有添加任何东西会显示出来。

我看到你在JTextArea上调用了setVisible(true),但如果它被添加到一个不可见的容器中,这将无效,因为它也是不可见的。其他建议:为您的JTextArea提供正确的行和列属性值,这可以通过其构造函数来完成,该构造函数需要两个整数(对于行和列)。并将JTextArea包装在JScrollPane中,并将那个添加到GUI。如果在程序运行期间而不是在启动时调用此代码,则在添加和删除组件后,请在容器上调用revalidate()repaint()

要获得更多更好的帮助,请考虑创建并发布有效的SSCCE