Ich habe das Internet nach dieser Antwort durchforstet. Ich habe eine einfache JList mit Elementen darin. Wenn ich mit der rechten Maustaste klicke, möchte ich ein Menü mit der Meldung "Verwenden, löschen, abbrechen" oder etwas Ähnliches aufrufen. Wie auch immer, ich bin ratlos.
Der folgende Code erzeugt eine einfache JList mit einigen wenigen Elementen. Ich habe versucht, einen Rechtsklick in den Code hinzuzufügen, aber es funktioniert nicht. Hilfe?
Hier ist was ich bisher habe:
%Vor%Ich weiß nicht, was du meinst. Hier ist Code, der zu funktionieren scheint, wie Sie es spezifizieren, aber abgesehen davon, dass Sie eine beliebige Anzahl von redundanten oder fehlerhaften Anweisungen herausnehmen, ist es genau das, was Sie gepostet haben.
%Vor%Ausgabe
%Vor% Einer der typischen Fehler könnte darin bestehen, JPopupMenu.setVisible(true)
aufzurufen und zu erwarten, dass etwas passiert. Diese Komponente benötigt eine andere Methode, um sie aufzurufen. Schreiben Sie Ihren Maus-Listener in den folgenden Zeilen neu:
Um ein kurzes Beispiel zu geben, füge ich nur ein Element hinzu, aber sicher kann mehr hinzugefügt werden. Die show-Methode, die ich verwende, muss auch angeben, wo auf der Komponente das Menü angezeigt werden soll. Der Ort kann aus der Liste selbst entnommen werden, wie in diesem Beispiel gezeigt.
Ausgehend von den vorherigen Antworten würde der folgende Code sofort das Element (bei Rechtsklick) auswählen und das Popup neben dem Mausklick anzeigen.
%Vor% Es gibt einen kommentierten Abschnitt, der eine Möglichkeit zum Entfernen des Elements zeigt; Es nimmt die Existenz eines ArrayList
(genannt array_list
) an, das eine Kopie der Elemente in JList
enthält. Es hat die Methode to_array
verwendet, um JList
zu aktualisieren. Es sollte einen effizienteren Weg geben, aber wenn Ihre Liste kurz ist, sollte es ausreichen.