我想在运行时在紫色窗格下添加一个JLabel,其中已经包含一些组件,例如在进度条下:
这是元素的结构:
这是我的代码,它在事件发生时发出(到达那里时,我通过调试检查了该代码):
jPanel1.add(new JLabel("Stack Overflow"));
jPanel1.revalidate();
jPanel3.revalidate();
我没有看到任何变化,也没有线索从这里去。当我放一个
紫色窗格中的textarea,然后在我尝试添加它起作用的JLabel组件的同一位置调用它的setText()方法。
最佳答案
您需要了解有关布局及其工作方式的更多信息。我强烈建议您阅读整个布局管理器教程,因为了解布局是这里的解决方案,而仅使用BorderLayout并不是解决问题的方法。您可能想要嵌套布局,也许使用整体GUI的BorderLayout,并让中央JPanel使用BoxLayout允许您将组件彼此堆叠在其内部。然后,也许将此JPanel添加到在BorderLayout.CENTER位置中使用BorderLayout的主JPanel中。