我创建了一个JDialog,以保持窗口模态,以阻止应用程序处理超过某一点。但是,当我使用此方法时,弹出框,但大小未设置为400,400,它看起来好像没有大小。
set list1 [lreplace $list1 $index1 $index1 [expr {1+[lindex $list1 $index1]}]]
如何使JDialog看起来大小为400,400?
答案 0 :(得分:4)
pack()
函数告诉窗口将自身打包尽可能小以适应其组件。与调用setSize()
函数相比,这是设置大小的不同方式。
通过同时调用setSize()
和pack()
,基本上你会说“首先将你的尺寸设置为400x400,然后将你的尺寸设置为尽可能小。”
换句话说,如果您希望窗口具有特定大小,请坚持使用setSize()
功能。摆脱对pack()
的调用。
编辑 - 在设置大小之前,您还可以设置对话框。由于您的对话框阻止了当前线程,因此在关闭对话框后之前,您甚至无法进入setSize()
功能。在致电setSize()
之前,将通话移至setVisible()
至。