Java 是否还有其他方法可以“引用”;“包装”;JPanel?

Java 是否还有其他方法可以“引用”;“包装”;JPanel?,java,jframe,jpanel,dimensions,pack,Java,Jframe,Jpanel,Dimensions,Pack,我能做些什么使我的JPanelpack像JFrame一样,或者做类似的事情吗。我想这样做,而不是给它尺寸。如果需要任何附加信息,请发表评论。谢谢。如果我理解正确,您的JPanel不会自动(重新)调整大小,对吗?在这种情况下,您可以使用Component.validate(或JComponent.revalidate())请尝试让我知道这是否有帮助 您应该在事件调度器线程中进行GUI调用: EventQueue.invokeLater(() -> { someJPanel.updat

我能做些什么使我的JPanel
pack
像JFrame一样,或者做类似的事情吗。我想这样做,而不是给它尺寸。如果需要任何附加信息,请发表评论。谢谢。

如果我理解正确,您的JPanel不会自动(重新)调整大小,对吗?在这种情况下,您可以使用Component.validate(或JComponent.revalidate())

请尝试让我知道这是否有帮助

您应该在事件调度器线程中进行GUI调用:

EventQueue.invokeLater(() -> {
    someJPanel.updateUI();
});

pack
使用帧内容的首选大小来确定帧的最佳大小…因此,您需要具有组件的大小才能使其正常工作。最好的选择是使用合适的布局管理器……请看,这可能是我一段时间以来听到的最糟糕的一句话,对不起。那么你的问题的答案是否定的,没有其他方法可以做到这一点,API从一开始就是为了利用布局管理器而设计的。避免使用
null
布局,像素完美的布局在现代ui设计中是一种错觉。影响零部件单个尺寸的因素太多,您无法控制。Swing的设计初衷是与布局管理器一起工作,丢弃这些布局管理器将导致无止境的问题,您将花费越来越多的时间来纠正这些问题。布局管理器。您没有提供您试图解决的问题的背景,因此无法向您提供解决方案或建议可能更有用的解决方案
那么GroupLayout
-我们不知道您的要求是什么,因此您希望我们如何回答?群组布局可能是最复杂的学习方式。此外,没有理由使用单一布局管理器,因为您可以用不同的布局嵌套面板。我真正的问题是JPanel没有安装我放入其中的所有组件,所以您是对的。我的JPanel最初确实适合它的组件,所以当它不适合时,我会告诉我的程序打包它,然后我就不再担心它,而不是在添加更多组件时不断手动调整它。但是我不完全理解如何使用您刚才给我的代码。@MattS,
我的JPanel最初适合它的组件
——这就是为什么您应该使用布局管理器。如果将组件添加到可见GUI,则只需重新验证()面板即可。发表你的文章,展示你的问题。在上一个问题中,您也被要求这样做。对我来说,
updateUI
方法对调整JPanel的大小没有影响。