我需要在JFrame中显示图像。如何根据图像的大小自动调整窗口大小。
答案 0 :(得分:5)
1.如果您将图片Icon / ImageIcon
添加到JLabel
,那么
必须针对具体监视器返回Toolkit的MaximumSize
测试JFrame
如果PreferedSize
低于MaximumSize
尺寸,请致电JFrame#pack()
否则必须致电setSize()
2.如果您使用Icon / ImageIcon
将图片Custom Painting
添加到JComponent
,JPanel
,JLabel
e.i.然后
然后此JComponen
t必须返回PreferredSize
a)如果JFrame#pack()
低于PreferedSize
,请致电MaximumSize
,
b)否则必须致电JFrame#setSize()
c)假设您不使用Image#getScalledInstance
3.我将在Icon
中使用JLabel
,只有一个问题是图片可能小于屏幕上的预期尺寸,但没有问题,很可能将图像居中到JLabel.CENTER
到JLabel