Java 如何在Swing中自动调整窗口大小
我需要在JFrame中显示一个图像。如何根据图像大小自动调整窗口大小。1.如果将图像作为Java 如何在Swing中自动调整窗口大小,java,image,swing,jframe,Java,Image,Swing,Jframe,我需要在JFrame中显示一个图像。如何根据图像大小自动调整窗口大小。1.如果将图像作为图标/ImageIcon放置到标签中,则 必须测试混凝土监视器返回的JFrame的MaximumSize 如果PreferedSize小于MaximumSizesize,则调用JFrame#pack() 否则必须调用setSize() 2.如果您使用自定义绘制将图像作为图标/ImageIcon放置到JComponent,JPanel,JLabele.i 那么这个JComponent必须返回Preferr
图标/ImageIcon
放置到标签中,则
- 必须测试混凝土监视器返回的
JFrame
的MaximumSize
- 如果
PreferedSize
小于MaximumSize
size,则调用JFrame#pack()
- 否则必须调用
setSize()
2.如果您使用自定义绘制将图像作为图标/ImageIcon
放置到JComponent
,JPanel
,JLabel
e.i
- 那么这个
JComponen
t必须返回PreferredSize
a) 如果PreferedSize
小于MaximumSize
,则调用JFrame#pack()
b) 否则必须调用JFrame#setSize()
c) 假设您不使用Image#getScalledInstance
< > > 3。我将使用<代码>图标>代码>在Jabel>/代码>中,只有一个问题,即屏幕上的图像可以小于预期大小,但没有问题,很有可能将图像定置到<代码> jLabel.Center < /Cord> > <代码> jabel> /Calp>也考虑<代码> JScR卷屏< /C>如图所示。第2点使用自定义绘制的示例如图所示。我不太理解整体逻辑:a)通常,max太大(因此在一次近似中可以安全地忽略),且waayy大于pref b)JLabel返回pref的合理大小,pack是所有需要的c)否则将是pref>max,这将是一个非法状态,必须进行固定(而不是强制将实际大小变大(不确定框架是否需要)1.和2.看起来非常相似(除了手动绘制和自定义覆盖getPref)