向FlowLayout面板Java Swing添加文本区域
我正在尝试添加一个文本区域到一个有流布局的面板,但它没有显示在我的GUI上…有什么想法吗向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
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()
。