如何处理过大的 JDialog

How to handle oversized JDialog

我正在开发一个 JDialog,它将包含三个部分,一个在另一个之上:客户一般信息、客户地址列表和订单列表。

客户地址列表可能增长到任意大,这会导致对话框超出屏幕高度。

因此,在显示之前调用 pack() 不起作用,因为打包对话框的高度对于屏幕高度来说仍然太大。

这需要一个滚动窗格。但我必须设置对话框的首选大小才能利用它,并根据显示分辨率为其定义大小。我不确定该怎么做。

我应该如何处理这种情况?

首先,您可以使用 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); 获取屏幕大小,然后按比例调整对话框大小(并将内容放在 JScrollPane 中)。

其次,我建议在项目上添加某种折叠,这样您就只会看到您真正感兴趣的项目。