Un frammento di mio codice è qui sotto:Java.awt.SystemTray non visualizza un'icona del vassoio correttamente
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();
}
tutto fila liscio, ma l'immagine visualizzata nella barra di sistema è tagliato fuori. Viene visualizzata solo la parte in alto a sinistra, a meno che non si riduca a 16x16 (da 40x40). Il icon.png
è un file immagine che viene caricato correttamente (non null). Ho pensato che i file delle icone del vassoio di sistema potevano essere 40px?
Qualcuno potrebbe spiegarmi qual è il problema qui?
Wow, ho completamente perso quella funzione. Grazie! – user1418454
Sono il tipo a cui piace leggere il codice sorgente, quindi sono andato e ho trovato [implementazione di windows] (http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7-b147 /sun/awt/windows/WTrayIconPeer.java#WTrayIconPeer) di TrayIcon. Sembra che abbia come target 16x16 se non hai attivato l'autosize. – Jim