当前位置: 首页 > 面试题库 >

如何调整JLabel ImageIcon的大小?

洪俊拔
2023-03-14
问题内容

我正在制作一个具有以下布局(MigLayout)的Java Swing应用程序:

[icon][icon][icon][....]
where icon = jlabel and the user can add more icons

当用户添加或删除图标时,其他图标应缩小或增长。

我的问题很简单:我有一个JLabel包含ImageIcon;如何调整此图标的大小?


问题答案:

调整图标大小并不容易。您需要使用Java的2D图形来缩放图像。第一个参数是Image类,您可以从ImageIcon类中轻松获取。您可以使用ImageIconclass加载图像文件,然后只需调用getter方法即可获取图像。

private Image getScaledImage(Image srcImg, int w, int h){
    BufferedImage resizedImg = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
    Graphics2D g2 = resizedImg.createGraphics();

    g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
    g2.drawImage(srcImg, 0, 0, w, h, null);
    g2.dispose();

    return resizedImg;
}


 类似资料:
  • 问题内容: 如何调整JTextField的大小? 问题答案: 如果看一下Javadoc,您会看到JTextField是从Component派生的,并且具有setSize()方法。如果您没有布局管理器,那就很有用。 如果你 这样做 有一个布局管理器,则有必要对setPreferredSize() / / 是要走的路。

  • 我想在tkinter中创建由笔记本框架和每个选项卡内的几个框架组成的简单图形用户界面。假设我想在笔记本的每个选项卡内创建两个标记的框架,跨越100%的窗口宽度和50%的窗口高度。 屏幕布局 我将有更多的帧/元素,我想采取窗口宽度/高度的x%。 我读到tkintergui应该自动调整窗口大小时,但我不能让它工作。 如何设置帧以获取100%的窗口宽度和(例如)50%的窗口高度? 如何使框架居中,使其不

  • 我正在尝试使用Java Swing将文本区域放入对话框中。我有一个问题,设置这个jTextArea的大小。文本区域的宽度总是等于窗口的整个宽度,如果我调整窗口的大小,它会随着窗口拉伸。 我希望JTextArea与窗口的中心水平对齐,并且不改变其大小。 我做错了什么?

  • 我有下面的代码,它设置了一个特定大小的窗口。它还从外部URL加载图像。

  • 我显示的三维对象中的ArFra缔约国。因此,我把. obj文件和. mtl文件放在sam部长级文件夹中。然后右键单击obj文件,选择导入Sceneform Asset以添加. sfa/. sfb文件。 所以我可以在标记图像时显示3d对象,但对象太大了。 这是我的. sfa文件详细信息 我认为它可以按比例部分调整大小,但我改变了值,它不会改变。同样大小 那么我如何调整3d对象的大小呢? 添加3d对象