java - 系统托盘图标看起来变形了

标签 java swing icons system-tray trayicon

我正在尝试使用 Java 将图标添加并显示到系统托盘。然而,图标总是太小,或者在某些区域被切断。 它是左起第二个,以防您看不出来。

我在这里做错了什么?我怎样才能让这个图标完整显示?系统托盘使用的标准图标大小是多少?

编辑:我正在使用 AWT SystemTray 和 TrayIcon

最佳答案

从磁盘中检索到实际图像资源后,您可以通过即时创建一个“假”图像并获取其宽度来将其调整为您需要的大小。

我发现这比使用 <a href="http://docs.oracle.com/javase/7/docs/api/java/awt/TrayIcon.html#setImageAutoSize%28boolean%29" rel="noreferrer noopener nofollow">setImageAutoSize(true)</a> 更好方法,因为该方法根本不能平滑地缩放图像。

BufferedImage trayIconImage = ImageIO.read(getClass().getResource("/path/to/icon.png"));
int trayIconWidth = new TrayIcon(trayIconImage).getSize().width;
TrayIcon trayIcon = new TrayIcon(trayIconImage.getScaledInstance(trayIconWidth, -1, Image.SCALE_SMOOTH));

关于java - 系统托盘图标看起来变形了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12287137/

相关文章:

java - 如何使 JTable 单元格不可编辑,但应该能够选择并复制当前单元格中的值

java - 动画/滚动文本

java - gui 中重画的问题

iphone - 推送通知角标(Badge) iphone 上的错误应用程序图标

android - 减少android中工具栏导航图标的左边距

java - 是否可以将 SWT 组合嵌入到 JavaFX 场景中?

java - 屏幕键盘 JButton 完全适合文本大小

java - 如何更改liferay portal中的图标

java - J2ME与手机

java - 我可以将整数值附加到 stringbuilder 吗?