4

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

4

1 回答 1

5

1.如果你把图像Icon / ImageIcon放在JLabel那时

  • 必须测试返回的ToolkitMaximumSize for具体监视器JFrame

  • 如果PreferedSize小于MaximumSize大小,则调用JFrame#pack()

  • 否则得打电话setSize()

2.如果你把图像作为Icon / ImageIcon使用Custom Painting, JComponent, eiJPanel那么JLabel

  • 那么这个JComponent必须返回PreferredSize

    a)JFrame#pack()如果PreferedSize低于MaximumSize,则调用

    b) 否则必须调用JFrame#setSize()

    c)假设你不使用Image#getScalledInstance

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

于 2012-08-10T10:54:05.570 回答