【问题标题】:How to handle oversized JDialog如何处理过大的 JDialog
【发布时间】:2019-04-12 12:01:41
【问题描述】:

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

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

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

这需要滚动窗格。但是我必须设置对话框的首选大小以利用它,并且为它定义大小取决于显示分辨率。我不知道该怎么做。

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

【问题讨论】:

  • 使用JScrollPaneLuke!
  • @SergiyMedvynskyy 我做了,但没用。我需要事先为对话框定义尺寸,但我不知道该怎么做。不过感谢您的提示。
  • 比猜测所需大小更好的方法是在JList 中显示结果并调用setVisibleRowCount(int) 方法。 (@SergiyMedvynskyy 建议使用JScrollPane。)
  • 为了消除可能的混淆,我使用JScrollPane,它在@IvanKukic 的回答之后工作。我会考虑使用JListsetVisibleRowCount(int)。谢谢。
  • “只是为了澄清一个可能的混淆”你在回复谁?提示:添加@SergiyMedvynskyy(或重要的@)以通知此人有新评论。

标签: java swing jscrollpane jdialog scrollpane


【解决方案1】:

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

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

【讨论】:

  • 谢谢!我已经在pack() 之前添加了它并且它有效。
猜你喜欢
  • 1970-01-01
  • 2013-04-19
  • 1970-01-01
  • 1970-01-01
  • 2023-02-09
  • 1970-01-01
  • 2015-11-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多