我有一个包含大量选项的JDialog,它一切正常,但我已更改它,因此默认情况下,除非用户点击显示高级>,否则某些选项是不可见的em>按钮。
当他们这样做时,会显示选项,但因为对话框不够高,因为它根据隐藏的选项进行了调整,所以会添加垂直滚动条。
我希望对话框的大小足够大,以便在启用高级选项时。我通过创建显示高级选项的对话框尝试了这一点,根据可见的高级选项调用pack()以适应
this.pack();
showAdvancedAction.actionPerformed(null);
然后调用方法使高级选项不可见。
但是当显示对话框时,对话框只有在没有显示选项时才足够大,所以当点击显示高级时,对话框会再次添加滚动条。
我该如何解决这个问题。
答案 0 :(得分:0)
this.pack();
showAdvancedAction.actionPerformed(null);
您的订单已被撤消。在组件可见后,您需要打包框架。
showAdvancedAction.actionPerformed(null);
this.pack();
答案 1 :(得分:-1)
在java swing中,您可以在面板上添加按钮或组件。但是当你尝试调整这些大小时,你需要使用Grid Layout / GridLayout类。尝试使用网格布局并通过提供X,Y坐标值来排列控件。它肯定会奏效。