我找不到设置放置在 JLabel 中的 ImageIcon 大小的方法。即我想要加载尺寸为 32x32 的图像,但以 16x16 像素(或 144 dpi)的尺寸进行绘制。
我无法找到将图标大小设置为 16x16 的方法。我尝试用双 DPI 保存 png,但这被忽略了。
也必须有一种方法来绘制其他尺寸的图标(例如 2x - 2px 为 1px,对于图像效果很好),但我没有看到它。谢谢!
我找不到宽度/高度、尺寸、dpi 或类似内容的设置器。
没关系,我找到了一个方法: 只需创建一个实现图标接口的 ScaledIcon 类,将图像、宽度和高度作为构造函数,然后实现我自己的 PaintIcon 方法,该方法以首选宽度和高度(在构造函数中设置)绘制图标。
JLabel label = new JLabel("Some Text", new ScaledIcon(originalIcon.getImage(), 16, 16), SwingConstants.HORIZONTAL);
按预期以更高的 DPI 精细绘制图标(即,如果缩放至 200%)