9

私のコードの抜粋は以下のとおりです。

SystemTray systray = SystemTray.getSystemTray();

try{
    TrayIcon trayicon = new TrayIcon(new ImageIO.read(new File("icon.png")),"I am a description");
}
catch(IOException e) {
    e.printStackTrace();
}

すべてがスムーズに実行されますが、システムトレイに表示される画像が途切れます。16x16(40x40から)に縮小しない限り、左上部分のみが表示されます。はicon.png正しくロードされた画像ファイルです(nullではありません)。システムトレイのアイコンファイルは40pxになると思いましたか?

誰かがここで何が問題なのか説明してもらえますか?

4

1 に答える 1

14

可能性としてはTrayIcon.setImageAutoSize()、OS(Windowsを想定)が120や144などの高dpiディスプレイに設定されていて、Javaがそれに正しく適応していない可能性があります。

于 2012-05-30T16:31:33.000 に答える