Red de conocimiento informático - Material del sitio web - En programación Java, cómo minimizar el programa en la bandeja

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() {

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

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

}