Java Swing:动态添加面板不可见



我正在尝试通过按JButton在JScrollPane中动态添加新的jpanel(维度250x500_。JScrollPane 的宽度为 1024,略高于 4 JPanels。

对于前 4 次 JButton 点击,正常插入 4 个 JPanel。如果我单击该按钮并第 5 次,那么 JScrollPane 就会增长(垂直条变得可见并创建一些空间,jpanel 下的数据也是正确的),但不幸的是,新的 JPanel 是不可见的。

如果我点击 JButton 并第 6 次,那么 JScrollPane 会增长更多,第 5 个 JPanel 变得可见(并继续......

关于为什么会发生这种情况的任何建议?(我在JScrollPane中使用流布局)

编辑:显然我已经使用验证和重绘方法,因为正如我上面写的,jpanel 在 4 次中有 5 次可见......问题在于第 5 次单击,新的 JPanel 不适合现有的 JScroll 并且没有出现(由于 JScroll 越来越大)。在第 6 次点击中,第 5 个 JPanel 出现并继续......

在理解之前请不要挑剔.. 谢谢

组件创建时的大小为 (0, 0)。在组件具有大小和位置之前,需要调用布局管理器。

将组件动态添加到可见 GUI 的基本代码是:

panel.add(...);
panel.revalidate(); // to invoke the layout managers
panel.repaint(); // sometimes needed

如果这没有帮助,请发布适当的SSCCE来演示问题。

相关内容

  • 没有找到相关文章

最新更新