Hässlicher Punkt bei JPopupMenu

Status
Nicht offen für weitere Antworten.

Ralf Ueberfuhr

Bekanntes Mitglied
Ich habe ein JPopupMenu mit einem PopupListener. Bevor das Menü aufgeht, sollen Bedingungen überprüft und so evtl. einige JMenuItems ausgeblendet werden. Es kann aber auch vorkommen, dass alle Items ausgeblendet werden. Dann öffnet sich das Popup aber trotzdem, und dann sieht man so einen hässlichen Punkt.

Gibt es eine Möglichkeit, das Öffnen des Popups dann zu verhindern? Leider bietet das Event keine cancel()-Methode an.
Oder hilft da nur sowas wie

Code:
				if(!list.isEnabled()) SwingUtilities.invokeLater(new Runnable() {
					public void run() {
						popupMenu.setVisible(false);
					}
				});
 

André Uhres

Top Contributor
masseur81 hat gesagt.:
Ich habe ein JPopupMenu mit einem PopupListener. Bevor das Menü aufgeht, sollen Bedingungen überprüft und so evtl. einige JMenuItems ausgeblendet werden. Es kann aber auch vorkommen, dass alle Items ausgeblendet werden...
..in dem Fall würde ich ein JMenuItem("No suggestions") einblenden.
 

Ralf Ueberfuhr

Bekanntes Mitglied
Das ist fallabhängig. Ein Kontextmenü zeigt Funktionen an, die ich auf ein Objekt ausführen kann. Und es sollte nur die anzeigen, die ich auch anwenden kann, und nicht die, die ich woanders, unter anderen Bedingungen etc. anwenden könnte.

"No suggestions" ist keine Funktion, ergo auch nicht Bestandteil eines Kontextmenüs.

In meinem Fall wird die angeklickte Komponente außerdem als "disabled" markiert. Der Benutzer wundert sich also nicht über seine tote Maus.

Aber ich will nicht im großen Rahmen darüber diskutieren. Ich möchte nur meine Frage beantwortet wissen.
 
R

Roar

Gast
was hindert dich daran einfach kein popup.show() aufzurufen, wenn du alle items entfernt hast, oder keine hinzugefügt hast ???:L
 

André Uhres

Top Contributor
masseur81 hat gesagt.:
...Aber ich will nicht im großen Rahmen darüber diskutieren...
Schade, ich wäre grad dafür in bester Stimmung.
Wenn im popup nichts drin ist, dann zeig es einfach nicht.

Upps, war mal wieder zu langsam..
 

Ralf Ueberfuhr

Bekanntes Mitglied
Ich habe das Menü per setComponentPopupMenu hinzugefügt, habe also keinen Einfluss auf zeigen oder nicht zeigen, denn ich verwende keine Mouse- oder KeyListener.

Die Überprüfung der anzuzeigenden Einträge erfolgt im PopupListener, also wenn es schon zu spät ist.

O.g. Alternative mit dem anschließenden Schließen funktioniert, ich wollte nur gern wissen, ob es eine schönere Alternative gibt.
 
R

Roar

Gast
masseur81 hat gesagt.:
Ich habe das Menü per setComponentPopupMenu hinzugefügt, habe also keinen Einfluss auf zeigen oder nicht zeigen, denn ich verwende keine Mouse- oder KeyListener.

achso, dann versuch mal mit addPopupMenuListener() nen PopupMenuListener hinzuzufügen und in der popupWillBecomeVisible() popup.setVisible(false); aufzurufen, falls nix drin is.
 

Ralf Ueberfuhr

Bekanntes Mitglied
sieh mal in den allerersten post. genau das habe ich. es gefällt mir aber eben nur 99%ig, weil das popup für eine millionstel sekunde geöffnet wird. aber ich lass es jetzt so. hab nicht soviel zeit, lange darüber nachzudenken.
 
R

Roar

Gast
also bei mir wird da kein popup geöffnet.

benutz doch einfach nen mouselistener :D
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Punkt von MouseListener hat falsche Koordinate AWT, Swing, JavaFX & SWT 2
P Abwächselnd ein Punkt und ein x anzeigen AWT, Swing, JavaFX & SWT 2
L 2D-Grafik Frage zu Ellipse2D.Double, Abfrage, ob Punkt enthalten ist funktioniert nicht AWT, Swing, JavaFX & SWT 3
J Rectangle g.fillRec() X/Y Punkt AWT, Swing, JavaFX & SWT 5
S Punkt finden der in einem Shape liegt..? AWT, Swing, JavaFX & SWT 11
K 2D-Grafik Punkt in Eclipse AWT, Swing, JavaFX & SWT 4
S Bild von Punkt zu Punkt zeichnen AWT, Swing, JavaFX & SWT 8
B 3D-Grafik Punkt in JAVA3D darstellen AWT, Swing, JavaFX & SWT 2
L Swing struktur und nahester Punkt AWT, Swing, JavaFX & SWT 4
J Punkt-genaue Positionierung von SWT-Komponenten AWT, Swing, JavaFX & SWT 10
T JComboBox Komma in Punkt umwandeln AWT, Swing, JavaFX & SWT 2
S JTable Float Column fuegt automatisch Punkt hinzu wenn man Zahlen eingibt. AWT, Swing, JavaFX & SWT 21
X Punkt auf Geometrie AWT, Swing, JavaFX & SWT 24
G Blinkenden Punkt zeichen AWT, Swing, JavaFX & SWT 2
S Will einen Punkt zeichnen aber krieg das net hin. AWT, Swing, JavaFX & SWT 2
J JScrollPane soll automatisch zu einem punkt scrollen AWT, Swing, JavaFX & SWT 4
G Punkt um ein Rotationszentrum rotieren lassen AWT, Swing, JavaFX & SWT 15
S FAQ und JTable Tutorial.Teil.4 Punkt 5 wichtige Bemerkung AWT, Swing, JavaFX & SWT 2
T drehung um einen anderen punkt AWT, Swing, JavaFX & SWT 2
E x wert von einem vorhandenen punkt abziehen? AWT, Swing, JavaFX & SWT 3
L Wie adde ich ein JPopUpMenu AWT, Swing, JavaFX & SWT 3
Nabbit Über JList kein JPopupMenu AWT, Swing, JavaFX & SWT 2
P Event Handling Listener beim öffnen von einem JPopupMenu AWT, Swing, JavaFX & SWT 3
M Accelerator zu JMenuItem des JPopupMenu einer JList AWT, Swing, JavaFX & SWT 2
M JPopupMenu per Klick schließen und gleichzeitig ActionEvent auf JButton? AWT, Swing, JavaFX & SWT 15
S Swing JPopupMenu visible AWT, Swing, JavaFX & SWT 4
S JPopupMenu schließen in SystemTray AWT, Swing, JavaFX & SWT 2
xehpuk Swing Listener für JPopupMenu AWT, Swing, JavaFX & SWT 3
hdi Workaround: TrayIcon & JPopupMenu AWT, Swing, JavaFX & SWT 3
K Swing Listener bei JPopupMenu AWT, Swing, JavaFX & SWT 9
S JPopupMenu oder JCombobox die JList oeffnet..? AWT, Swing, JavaFX & SWT 7
A Swing in JPopupMenu die JRadioButtonMenuItems durchlaufen AWT, Swing, JavaFX & SWT 3
T JmenuItems in JPopupMenu kontextabhängig deaktivieren AWT, Swing, JavaFX & SWT 2
S Swing JPopupMenu nicht schließen AWT, Swing, JavaFX & SWT 2
pinerski Probleme mit JPopupMenu und JMenuItem AWT, Swing, JavaFX & SWT 7
hdi Swing JPopupMenu: Größe AWT, Swing, JavaFX & SWT 4
B JPopupMenu, getParent Problem... AWT, Swing, JavaFX & SWT 2
Dragonfire width of JPopupMenu StyleBug AWT, Swing, JavaFX & SWT 3
M JPopupMenu - Ein vorhandenes Kontextmenü erweitern AWT, Swing, JavaFX & SWT 6
Iron Monkey JPopupMenu/JMenuItem Index für getSubElements()[] ermitteln AWT, Swing, JavaFX & SWT 8
X JPopupMenu Items aktualisieren sich nicht AWT, Swing, JavaFX & SWT 3
T JPopupMenu "schließen" AWT, Swing, JavaFX & SWT 7
M jPopupMenu AWT, Swing, JavaFX & SWT 2
M jPopupMenu - Problem bei der Positionierung AWT, Swing, JavaFX & SWT 3
N JPopupMenu - ausgewähltes Element zurückgeben AWT, Swing, JavaFX & SWT 2
P JPopupMenu scrollen AWT, Swing, JavaFX & SWT 2
A JPopupMenu: Nach oben aufpoppen AWT, Swing, JavaFX & SWT 9
S Problem mit JPopupMenu AWT, Swing, JavaFX & SWT 3
T JPopupMenu wird bei Rechtsklick angezeigt! AWT, Swing, JavaFX & SWT 3
Firefork JPopupMenu unter einem Schalter darstellen AWT, Swing, JavaFX & SWT 2
K Netbeans GUI Builder (Matisse) und erstellen von JPopupMenu AWT, Swing, JavaFX & SWT 1
I In JPopupMenu scrollen AWT, Swing, JavaFX & SWT 4
M JPopupMenu per linker Maustaste öffnen AWT, Swing, JavaFX & SWT 9
V Beliebige Komponenten in einem JPopupMenu? AWT, Swing, JavaFX & SWT 3
F Problem mit JPopupMenu AWT, Swing, JavaFX & SWT 3
C JPopUpMenu in einem JTree ist lahm AWT, Swing, JavaFX & SWT 14
V JPopupMenu Problem und Tipp zu mouse/key AWT, Swing, JavaFX & SWT 3
F JPopupMenu und AbstractAction AWT, Swing, JavaFX & SWT 2
N Problem mit JPopupMenu und alwaysOnTop AWT, Swing, JavaFX & SWT 4
G Schließen von JPopupMenu AWT, Swing, JavaFX & SWT 14
G Problem mit JPopupMenu AWT, Swing, JavaFX & SWT 30
S JPopupMenu - Kontrolliert beenden AWT, Swing, JavaFX & SWT 3
C Problem mit JPopupMenu AWT, Swing, JavaFX & SWT 6
T java.awt.IllegalComponentStateException bei JPopupMenu AWT, Swing, JavaFX & SWT 6
G Problem mit JPopupMenu und Menüauswahl AWT, Swing, JavaFX & SWT 4
R JPopupMenu,JScrollPane + repaint AWT, Swing, JavaFX & SWT 8
D Probleme bei der Positionierung von JPopupMenu AWT, Swing, JavaFX & SWT 2
J "Problem" mit JPopupMenu AWT, Swing, JavaFX & SWT 7
G JPopupMenu in JTable AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen


Oben