Estoy haciendo una aplicacion, que al minimizar quiero que se vaya al system tray o bandeja, y lo he logrado con un codigo que encontré, el problema viene cuando quiero desminimizar la aplicación, me pone como error el setExtendedState dentro del abrirListener, no se de que manera puedo hacer que vuelta a abrir.
Código java:
Ver originalpublic static void main
(String args
[]) { try{
final TrayIcon trayIcon;
if (SystemTray.isSupported()) {
SystemTray tray = SystemTray.getSystemTray();
Image image
= Toolkit.
getDefaultToolkit().
getImage("img/java.jpg");
System.
out.
println("Tray Icon - Mouse clicked!"); }
System.
out.
println("Tray Icon - Mouse entered!"); }
System.
out.
println("Tray Icon - Mouse exited!"); }
System.
out.
println("Tray Icon - Mouse pressed!"); }
System.
out.
println("Tray Icon - Mouse released!"); }
};
System.
out.
println("Exiting..."); }
};
this.setExtendedState(0); //<<---problema----
}
};
defaultItem.addActionListener(exitListener);
abrir.addActionListener(abrirListener);
popup.add(defaultItem);
popup.add(abrir);
trayIcon = new TrayIcon(image, "Tray Demo", popup);
trayIcon.displayMessage("Action Event",
"An Action Event Has Been Performed!",
TrayIcon.MessageType.INFO);
}
};
trayIcon.setImageAutoSize(true);
trayIcon.addActionListener(actionListener);
trayIcon.addMouseListener(mouseListener);
try {
tray.add(trayIcon);
System.
err.
println("TrayIcon could not be added."); }
} else {
// System Tray is not supported
}
}
public void run() {
new Marco().setVisible(true);
}
});
}