我需要在 JFrame 中显示图像。如何使窗口大小根据图像大小自动调整。
最佳答案
1.如果您将图像作为 Icon/ImageIcon
放入 JLabel
中
必须为返回 Toolkit 的
JFrame
测试MaximumSize
用于混凝土监视器如果
PreferedSize
小于MaximumSize
大小,则调用JFrame#pack()
否则必须调用
setSize()
2.如果您通过使用 Custom Painting
将图像作为 Icon/ImageIcon
放置到 JComponent
中,JPanel
, JLabel
e.i.然后
然后这个
JComponen
t 必须返回PreferredSize
a) 如果
PreferedSize
小于MaximumSize
,则调用JFrame#pack()
,b) 否则必须调用
JFrame#setSize()
c) 假设您不使用
Image#getScalledInstance
3.我会在 JLabel
中使用 Icon
,只有一个问题是图像在屏幕上可以小于预期大小,但没有问题这样,很可能将图像居中到 JLabel.CENTER
到 JLabel
关于java - 如何在Swing中自动调整窗口大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11900128/