我有一个可调整大小的JFrame
和(因为我对Layouts了解不多)将其JPanel
布局设置为null。
有没有办法告诉我的程序调整每个组件相对于窗口大小的大小?
e.g。我有一个200x100的默认大小JFrame
,按钮是20x10。如果我将窗口大小调整为400x200,我希望按钮(仍然在相对于窗口边缘的相同位置)调整为40x20。
如果有效,是否有办法用字体做同样的事情?例如。尺寸为11×200x100,但尺寸为14×400x200。
答案 0 :(得分:1)
无论您使用什么约定来扩展组件和字体,将布局设置为null都不是一个好主意。 Widgets behaving strangely when using "setlayout(null)"将深入了解为什么这容易出错。当您手动更改JFrame的大小时,Automatically size JPanel inside JFrame可能有助于缩放。
答案 1 :(得分:0)
向您的框架添加ComponentListener
,并为特定的窗口大小创建一个包含组件的defaultSizes的表。每次调整窗口大小时都会调用componentResized(ComponentEvent e)
。在其中,您可以调整组件的大小。或者您实现自己的LayoutManager。