Resize JFrame according to JPanel image content?
我正在使用NetBeans开发一个简单的图像浏览器。我有扩展了
单击图像缩略图会在此主
我曾经尝试每次JPanel内容更改时(例如,当用户单击缩略图并触发ActionEvent时)为主JFrame调用
non-static method pack() cannot be referenced from static content
因此,我对此颇为困惑,我想知道是否有办法做到这一点。如果存在,是否还可以设置JFrame窗口大小的最大限制?
对于布局,
non-static method pack() cannot be referenced from static content
请勿在您的应用程序中使用静态方法。不需要这样做。假设您遵循在Swing教程示例中找到的示例代码,则唯一的静态方法应该是main()方法和" createAndShowGUI "方法。
您可以使用
找到要打包的窗口()
1 |
您从ActionEvent获取源,然后使用该组件找到要打包的窗口。
is it also possible to set a maximum limit on the JFrame window size?
执行pack()。然后,如果尺寸超出限制,则始终可以通过在Window上调用setSize()来覆盖最大尺寸。
我也同意,每次更改图像时都不断更改Window的大小并不是一个好的设计。
我将图像添加到JLabel,并将标签添加到滚动窗格,以使当图像大于框架大小时该滚动条可以显示。