Ich verwende Netbeans, um eine Java-Anwendung zu entwickeln, und ich möchte ein Tray-Symbol im Systemtray erstellen, und ein Popup-Menü wird angezeigt, wenn ich mit der rechten Maustaste auf das Tray-Symbol klicke.
Ich habe einen Jframe und ein Popup-Menü per Drop & Drap erstellt.
Aber ich habe ein Problem: Mein Popup-Menü hat 2 Menüpunkte ( Ausfahrt y Anmeldung anzeigen ), aber der ausgewählte Menüpunkt wird nicht hervorgehoben, und nachdem ich auf den Menüpunkt geklickt habe, wird das Popup-Menü nicht geschlossen.
Hier ist mein Code:
Deklarieren Sie einige globale Variablen
SystemTray systemTray = null;
Image image = Toolkit.getDefaultToolkit().getImage("D:/key-16x16.png");
TrayIcon trayIcon = new TrayIcon(image);
Symbol für die Systemablage erstellen und anzeigen
systemTray = SystemTray.getSystemTray();
try
{
systemTray.add(trayIcon);
} catch (AWTException ex)
{
Logger.getLogger(mainframe.class.getName()).log(Level.SEVERE, null, ex);
}
MouseAdapter erstellen und mouseListener für Tray-Icon hinzufügen
MouseAdapter trayIconMouseAdapter = new MouseAdapter()
{
// @Override
public void mouseClicked(MouseEvent e) {
trayIconMouseClicked(e);
}
};
trayIcon.addMouseListener(trayIconMouseAdapter);
Mausklick-Ereignis auf Tray-Symbol behandeln. Prüfen, ob es sich um einen Rechtsklick handelt und Popup-Menü anzeigen
private void trayIconMouseClicked(java.awt.event.MouseEvent evt) {
if(SwingUtilities.isRightMouseButton(evt))
{
popupMeunu.show(evt.getComponent(), evt.getX(), evt.getY());
}
}
Aber wenn ich eine Schaltfläche zu jframe drapieren und ersetzen popupMeunu.show(evt.getComponent(), evt.getX(), evt.getY());
por popupMeunu.show(jButton1, evt.getX(), evt.getY());
wird alles in Ordnung sein.
Ich weiß nicht, warum Bitte helfen Sie mir, mein Problem zu lösen.