如何在Swing中自动调整窗口大小

时间:2012-08-10 10:48:51

标签: java image swing jframe

我需要在JFrame中显示图像。如何根据图像的大小自动调整窗口大小。

1 个答案:

答案 0 :(得分:5)

1.如果您将图片Icon / ImageIcon添加到JLabel,那么

  • 必须针对具体监视器返回ToolkitMaximumSize测试JFrame

  • 如果PreferedSize低于MaximumSize尺寸,请致电JFrame#pack()

  • 否则必须致电setSize()

2.如果您使用Icon / ImageIcon将图片Custom Painting添加到JComponentJPanelJLabel e.i.然后

  • 然后此JComponen t必须返回PreferredSize

    a)如果JFrame#pack()低于PreferedSize,请致电MaximumSize

    b)否则必须致电JFrame#setSize()

    c)假设您不使用Image#getScalledInstance

3.我将在Icon中使用JLabel,只有一个问题是图片可能小于屏幕上的预期尺寸,但没有问题,很可能将图像居中到JLabel.CENTERJLabel