向FlowLayout面板Java Swing添加文本区域

向FlowLayout面板Java Swing添加文本区域,java,swing,Java,Swing,我正在尝试添加一个文本区域到一个有流布局的面板,但它没有显示在我的GUI上…有什么想法吗 private void makeTypes() { westPanel.setVisible(false); centerPanel.setVisible(false); northPanel.setVisible(false); contentPane.add(westPanel, BorderLayout.WEST); contentPane.add(cente

我正在尝试添加一个文本区域到一个有流布局的面板,但它没有显示在我的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);

}

中心面板不可见:

centerPanel.setVisible(false);
因此,没有任何附加内容会显示出来

我看到您在JTextArea上调用了
setVisible(true)
,但是如果它被添加到一个不可见的容器中,这将没有任何效果,因为它也是不可见的。其他建议:给JTextArea适当的行和列属性值,这可以通过它的构造函数完成,该构造函数接受两个int(行和列)。并将JTextArea包装在一个JScrollPane中,并将其添加到GUI中。如果在程序运行期间而不是启动时调用此代码,则在添加和删除组件后,在容器上调用
revalidate()
repaint()


<>为了获得更多更好的帮助,考虑创建和发布一个有效的.< /p> @汉娜:然后让我们看看你的代码,我们可以编译和运行,并为你自己看到你的问题。@汉娜:你也从来没有告诉我们什么时候调用这个方法,如果是在GUI启动或GUI运行期间。如果在运行期间,则在添加和删除组件后,在容器上调用
revalidate()
repaint()