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

标签 java image swing jframe

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

最佳答案

1.如果您将图像作为 Icon/ImageIcon 放入 JLabel

  • 必须为返回 ToolkitJFrame 测试 MaximumSize用于混凝土监视器

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

  • 否则必须调用setSize()

2.如果您通过使用 Custom Painting 将图像作为 Icon/ImageIcon 放置到 JComponent 中,JPanel, JLabel e.i.然后

  • 然后这个 JComponent 必须返回 PreferredSize

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

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

    c) 假设您不使用 Image#getScalledInstance

3.我会在 JLabel 中使用 Icon,只有一个问题是图像在屏幕上可以小于预期大小,但没有问题这样,很可能将图像居中到 JLabel.CENTERJLabel

关于java - 如何在Swing中自动调整窗口大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11900128/

相关文章:

Javascript 内的 Java 数组索引 :Is my Syntax correct?

javascript - 在没有 Canvas 的纯 JS 中生成图像🌇

css - 在 ASP.NET 中拉伸(stretch)图像

java - 可在两个平台上运行的多语言软件

java - 想要在标签中显示日期

java - 在 GridLayout 中移动组件

java - 为什么a long 写成L

java - 将消费者转换为函数

java - 难以理解 FOR 和 WHILE 循环

html - KCfinder 返回的图像标签在 CKeditor 上不完整