En programación Java, cómo minimizar el programa en la bandeja
paquete awt;
importar java.awt.AWTException;
importar java.awt.MenuItem;
importar java.awt. PopupMenu;
importar java.awt.SystemTray;
importar java.awt.TrayIcon;
importar java.awt.event.ActionEvent;
importar java.awt.event.ActionListener;
importar java.awt.event.MouseAdapter;
importar java.awt.event.MouseEvent;
importar java.awt.event.WindowAdapter;
importar java.awt.event.WindowEvent;
importar javax.swing.ImageIcon;
importar javax. swing.JFrame;
clase pública TrayDemo extiende JFrame {
TrayIcon privado trayIcon = null; // icono de bandeja
bandeja SystemTray privada = null; Ejemplo de bandeja del sistema operativo
TrayDemo estática pública trayDemo = new TrayDemo();
TrayDemo privada() {
init();
}
public void init() {
if (SystemTray.isSupported()) { // Si el sistema operativo admite la bandeja
this. bandeja( );
}
this.setSize(300, 200)
this.setResizable(false); / Evento de activación de ventana al cerrar
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
public void windowIconified(WindowEvent e) {
try {
tray.add(trayIcon); icon to En la instancia de la bandeja del sistema
//setVisible(false); //Hacer la ventana invisible
dispose();
} catch (AWTException ex ) {
ex.printStackTrace(
);
}
}
});
}
bandeja vacía privada() {
tray = SystemTray.getSystemTray(); // Obtener una instancia de la bandeja de este sistema operativo
ImageIcon icon = new ImageIcon("images/30.gif"); Se mostrará en el icono de la bandeja
PopupMenu pop = new PopupMenu(); // Construye un menú emergente contextual
MenuItem show = new MenuItem("Abrir programa( s)");
MenuItem exit = new MenuItem("Salir del programa (x)");
pop.add(show);
pop. add(exit);
trayIcon = new TrayIcon(icon.getImage(), "Sistema de gestión de vehículos", pop
/**
*); Agregue un detector de mouse, cuando Cuando el mouse hace doble clic en el ícono de la bandeja, la ventana se muestra de manera predeterminada
*/
trayIcon.addMouseListener(new MouseAdapter() { p>
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) { // Doble clic del mouse
tray.remove(trayIcon) ; // Eliminar el icono de la bandeja de la instancia de la bandeja del sistema
setExtendedState(JFrame.NORMAL);
setVisible(true); // Mostrar ventana
toFront; ();
}
}
});
show.addActionListener(new ActionListener() { // Haga clic en " Menú "Mostrar ventana" para mostrar la ventana
public void actionPerformed(ActionEvent e) {
tray.remove(trayIcon); // Elimina el icono de la bandeja de la instancia de bandeja del sistema p>
setExtendedState(JFrame.NORMAL) ;
setVisible(true); // Mostrar ventana
toFront();
}
});
exit.addActionListener(new ActionListener() { // Salga del programa después de hacer clic en el menú "Salir de la demostración"
public void actionPerformed(ActionEvent e) {
System.exit(0 ); //Salir del proceso
secuencia
}
});
}
/**
* Mostrar información
*/
// Devuelve un objeto de instancia única
TrayDemo estático público getInstanceTrayDemo() {
return trayDemo;
}
//Manejar eventos de ventana
}