Swing JMenu wieder schließen lassen

Status
Nicht offen für weitere Antworten.

dalco

Aktives Mitglied
hallo,
ich habe in meiner anwendung ein jmenu mit menuitems, etc...
funktioniert alles ganz gut, wenn ich mit der maus darüber fahre klappt auch alles schön auf, nur wenn ich nichts daraus anklicke, sondern irgendetwas anderes klicke bleibt immer der eintag der menuspalte stehen mit allen seinen unterpunkten?

ich möchte aber, dass beim klicken von etwas anderem das menu wieder geschlossen wird, wie es überall gängig ist, selbst hier im firefox grad eben.

schließen tut es so wie es soll nur dann wenn ich danaben über einen anderen menupunkt gehe, dann wieder das selbe.

danke schon mal für eure tips wie ich das geschlossen bekomme
gruss
tino
 

diggaa1984

Top Contributor
theoretisch schliesst das auch dann von selbst wenn man irgendwo anders hinklickt, siehe hier (code aus anderm thread, funktion ist ja egal) - einfach mal kopieren und ausführen
Java:
public class Test extends javax.swing.JFrame {
    
    public Test() {
        super();
        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setLayout(new java.awt.FlowLayout());
        add(new javax.swing.JTextField("\t"));
        add(new javax.swing.JTextField("\t"));
        add(new javax.swing.JTextField("\t"));
        
        javax.swing.JMenuBar menubar = new javax.swing.JMenuBar();
        javax.swing.JMenu menu = new javax.swing.JMenu("Edit");
        menu.add(new javax.swing.text.DefaultEditorKit.PasteAction());
        menubar.add(menu);
        setJMenuBar(menubar);
        
        pack();
    }
 
    public static void main(String[] args) {
        //fix was ins clipboard legen
        java.awt.Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new java.awt.datatransfer.StringSelection("foo"), null);
        
        Test t = new Test();
        t.setVisible(true);
    }
}
 

Ebenius

Top Contributor
Ich kann Dein Problem gar nicht nachvollziehen. Wenn ich ein JMenu benutze, dann schließt es sich, sobald ich irgendwo in der App klicke. Mach mal ein kleines Beispielprogramm dafür!

Probier mal diese Beispiel, hier schließt sich alles automatisch, ohne Voodoo:
Java:
final JMenu newMenu = new JMenu("New");
newMenu.add(new JMenuItem("Text Document"));
newMenu.add(new JMenuItem("Java File"));

final JMenu menu = new JMenu("File");
menu.add(newMenu);
menu.addSeparator();
menu.add(new JMenuItem("Open"));
menu.add(new JMenuItem("Save"));
menu.add(new JMenuItem("Save As\u2026"));
menu.addSeparator();
menu.add(new JMenuItem("Exit"));

final JMenuBar menuBar = new JMenuBar();
menuBar.add(menu);

final JPanel contentPane = new JPanel(new BorderLayout(6, 6));
contentPane.add(new JScrollPane(new JTable())); // Spacer
contentPane.add(
      new JButton("Dummy: Menu is being closed, automatically"),
      BorderLayout.SOUTH);

final JFrame f = new JFrame("Test Frame: MenuTest"); //$NON-NLS-1$
f.setJMenuBar(menuBar);
f.setContentPane(contentPane);
f.pack();
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
f.setVisible(true);
Hast Du vielleicht eine AWT-MenuBar erwischt, anstatt einer JMenuBar?

Ebenius
 

dalco

Aktives Mitglied
hi,
danke für eure antworten, das eine beispiel von euch (diggaa1984) geht super, sobald ich in ein textfeld klicke ist das menu zu, ist ja keine große sache und es sollte auch gehen,
awt hab ich nicht, ist schon jMenu und alles vom swing....

lediglich wird das menu eingebunden in ein großes projekt, mehrere schichten, controller, guis, etc.... kann ich hier nicht alles posten.

eure beispiele gehen genau so wie sie sollen, nur bei meinem bleibt das menu mit ggf unterpunkten immer stehen, egal wohin ich klicke, es sei denn ich gehe über einen weiteren menupunkt?? -komisch
danke schonmal
tino
 

Ebenius

Top Contributor
Du hast sicher das Menü irgendwie falsch eingebaut. Das Menü zu schließen geht mit Swing automatisch... Kannst Du mal den Teil des Quelltexts posten der das Menü auf's Frame packt?

Ebenius
 

dalco

Aktives Mitglied
hi,

also ich hab die klasse der Jmenubar, die insgesamt JDropDown heißt...

Code:
class makeMenu extends JMenuBar {
erzeuge die ganzen sachen, listener, etc....
}

und in meinem guiBuilder wird es so dazugefügt..
Code:
  JDropDown jmenu = new JDropDown ();
  setJMenuBar(jmenu.getJMenuBar());
gruss tino
 

Ebenius

Top Contributor
Hm, seltsam. Da sieht man nichts kaputtes. Vielleicht hast Du mit irgendwelchen Listeners was kaputtgespielt... Sehr verwunderlich.

Ebenius
 

diggaa1984

Top Contributor
wasn makeMenu .. sollte da mal JDropDown stehen? So wie es da zu sehen ist stehen diese 2 Code-Abschnitte in keinem Zusammenhang ^^
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
ExceptionOfExpectation JMenu, setMnemonic(Char k) bringt keine Wirkung AWT, Swing, JavaFX & SWT 8
H Swing JMenu aufgeklappt oder nicht - Wie frage ich das ab? AWT, Swing, JavaFX & SWT 5
D Mit Jmenu neue JFrame öffnen AWT, Swing, JavaFX & SWT 2
MaxG. Swing JMenu einen Listener Hinzufügen AWT, Swing, JavaFX & SWT 25
Y Backgroundcolor JMenu AWT, Swing, JavaFX & SWT 2
D Merkwürdiges Verhalten vom JMenu AWT, Swing, JavaFX & SWT 4
X JMenu Menu-Bar ausrichtung ändern im Programm AWT, Swing, JavaFX & SWT 0
S AWT JTextFields durch Array im JMenu erzeugen? AWT, Swing, JavaFX & SWT 19
E JMenu erscheint nach RDP-Verbindung auf falschem Desktop AWT, Swing, JavaFX & SWT 1
S Swing JMenu löscht auf panel gezeichnetes AWT, Swing, JavaFX & SWT 3
llabusch Prüfen ob JMenu leer ist & löschen AWT, Swing, JavaFX & SWT 1
3 Swing Vertikaler Separator zwischen JMenu's AWT, Swing, JavaFX & SWT 2
S JMenu unter JPanel versteckt AWT, Swing, JavaFX & SWT 5
S jMenu wird nicht angezeigt AWT, Swing, JavaFX & SWT 3
K Swing JMenu und ActionListener AWT, Swing, JavaFX & SWT 4
T JMenu reagiert auf F-Taste AWT, Swing, JavaFX & SWT 6
M JMenuBar, JMenu, JMenuItem wird nicht angezeigt AWT, Swing, JavaFX & SWT 16
Jagson Mit JMenu auf jDialog zurück? Wie? AWT, Swing, JavaFX & SWT 8
Kenan89 JMenu Fragen AWT, Swing, JavaFX & SWT 5
B Swing JMenu zwischen anderen Componenten AWT, Swing, JavaFX & SWT 4
R JMenu aus Ordnern AWT, Swing, JavaFX & SWT 4
P JMenu aus Dateistruktur AWT, Swing, JavaFX & SWT 2
I JMenu AWT, Swing, JavaFX & SWT 5
M Swing JMenu verdeckt durch Komponente (aber kein AWT und Swing mix!?) AWT, Swing, JavaFX & SWT 3
frankred Swing JMenu verschwindet nicht beim klicken ausserhalb des JMenu! AWT, Swing, JavaFX & SWT 4
F JMenu auf JPanel AWT, Swing, JavaFX & SWT 5
E Swing JMenu in GUI einbinden AWT, Swing, JavaFX & SWT 5
S Probleme mit JMenu und JMenuItem AWT, Swing, JavaFX & SWT 2
E JMenu übersetzen AWT, Swing, JavaFX & SWT 9
W JMenu wird vom JPanel ständig überzeichnet... Abhilfe? AWT, Swing, JavaFX & SWT 3
P JMenu-Erweiterung in externer Datei AWT, Swing, JavaFX & SWT 5
T Swing JMenu als Button behandeln AWT, Swing, JavaFX & SWT 4
T Swing jMenu AWT, Swing, JavaFX & SWT 6
R JMenu in JToolBar AWT, Swing, JavaFX & SWT 6
T Swing JMenu falsch positioniert AWT, Swing, JavaFX & SWT 2
M JMenu teilweise unter einer JComponent AWT, Swing, JavaFX & SWT 4
Developer_X Swing JMenu Bug gefunden AWT, Swing, JavaFX & SWT 5
E Swing Einfache Frage zu JMenu AWT, Swing, JavaFX & SWT 4
hdi Welche Klasse + Listener für JMenu AWT, Swing, JavaFX & SWT 2
A JMenu Bug? AWT, Swing, JavaFX & SWT 12
J JMenu unterschiedliche Background einstellen AWT, Swing, JavaFX & SWT 5
C JMenu bzw. JButton mit URL versehen AWT, Swing, JavaFX & SWT 2
G ActionListener auf JMenu funktioniert nicht AWT, Swing, JavaFX & SWT 4
X JMenu AWT, Swing, JavaFX & SWT 2
D Abfrageproblem bei JMenu mit Icon AWT, Swing, JavaFX & SWT 2
Ernesto95 Programmabsturz beim Einbinden eines JMenu AWT, Swing, JavaFX & SWT 18
P jMenu ohne Menubar - Jigloo zeigts AWT, Swing, JavaFX & SWT 2
S JMenu und ActionListener per Schleife erzeugen AWT, Swing, JavaFX & SWT 3
G Scrollbares JMenu AWT, Swing, JavaFX & SWT 4
A Bei Klick auf disabled JMenuItem JMenu nicht schließen AWT, Swing, JavaFX & SWT 2
G JMenu problem mit der Breite von einer JCheckBox AWT, Swing, JavaFX & SWT 2
V JMenu und die Tabs von JTabbedFrame sind auf einmal schwarz AWT, Swing, JavaFX & SWT 3
H JMenu wird leider unterhalb! der CanvasFläche dargestellt AWT, Swing, JavaFX & SWT 5
X Swing: Bilder überlagern JMenu AWT, Swing, JavaFX & SWT 4
T ImageIcon als Seperator im Jmenu AWT, Swing, JavaFX & SWT 8
padde479 JMenu mnemonic AWT, Swing, JavaFX & SWT 3
N JMenu und JPanel AWT, Swing, JavaFX & SWT 5
P JMenu / JMenuItem durch Rekursion Icons entfernen AWT, Swing, JavaFX & SWT 4
B 1 JMenu in Mehrere JMenus AWT, Swing, JavaFX & SWT 2
G Canvas, JMenu, und BufferStrategy AWT, Swing, JavaFX & SWT 2
D JMenu -> Accelerator AWT, Swing, JavaFX & SWT 2
I JMenu(Item) und FocusListener AWT, Swing, JavaFX & SWT 3
T JMenu/JMenuItem Component auf der geaddet wurde AWT, Swing, JavaFX & SWT 16
G JMenu About ohne JMenuItem AWT, Swing, JavaFX & SWT 11
R JMenu + Farbe von Hintergrund AWT, Swing, JavaFX & SWT 2
M JMenu verschwindet unter ScrollPane AWT, Swing, JavaFX & SWT 3
D Schriftfarbe ändern (JFrame, JMenu etc) AWT, Swing, JavaFX & SWT 3
K JMenu wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
I JMenu wird nicht dargestellt AWT, Swing, JavaFX & SWT 12
H JMenu soll "offen bleiben" AWT, Swing, JavaFX & SWT 3
M JMenuBar - JMenu mit Tastenkombination aufrufen / anzeigen AWT, Swing, JavaFX & SWT 8
redztripe Haken in JMenu setzen? AWT, Swing, JavaFX & SWT 8
G Icon zu JMenu AWT, Swing, JavaFX & SWT 3
M JMenu auf JComponent? AWT, Swing, JavaFX & SWT 10
G JMenu - neuer Frame AWT, Swing, JavaFX & SWT 2
X Verschwinden des JMenu unterbinden AWT, Swing, JavaFX & SWT 3
R JMenu copy Focus-Problem AWT, Swing, JavaFX & SWT 2
E JTextArea überlagert JMenu AWT, Swing, JavaFX & SWT 2
D JMenu spinnt AWT, Swing, JavaFX & SWT 7
Z JMenu und JMenuItem: MouseOver-Farbe ändern AWT, Swing, JavaFX & SWT 9
B Alle jMenu und JMenuItem in einem Array AWT, Swing, JavaFX & SWT 4
R JMenu einträge werden überdeckt AWT, Swing, JavaFX & SWT 3
T JMenu erscheint nicht richtig AWT, Swing, JavaFX & SWT 6
G JMenu Info-Fenster ganz Rechts AWT, Swing, JavaFX & SWT 5
H JMenu zuklappen AWT, Swing, JavaFX & SWT 7
K JMenu Aktionen AWT, Swing, JavaFX & SWT 3
richis-fragen Wie kann man den RowSorter dazu bringen die ursprünglich liste wieder anzuzeigen. AWT, Swing, JavaFX & SWT 28
J Eingaben aus Textfield & ComboBox speichern und in ComboBox wieder ausgeben AWT, Swing, JavaFX & SWT 3
B Text mit Absatz + OK-Button, der Fenster wieder schließt AWT, Swing, JavaFX & SWT 7
J JOptionPane ruft sich selbst immer wieder neu auf AWT, Swing, JavaFX & SWT 3
R JOptionPane schließt sich nicht wieder AWT, Swing, JavaFX & SWT 2
S Swing Mal wieder JTable Ansicht aktualisieren AWT, Swing, JavaFX & SWT 10
C Memory Karten nach Paar offen bleiben sonst wieder umdrehen AWT, Swing, JavaFX & SWT 1
C Benutzername in GUI eingeben und nach Spiel neues Fenster Benutzername wieder anzeigen AWT, Swing, JavaFX & SWT 1
T SWT Mysql Tabelle zeigt immer nur den ersten Wert immer wieder an AWT, Swing, JavaFX & SWT 3
X AWT Text der mit Graphics "drawString(...)" geschreiben wurde wieder löschen. AWT, Swing, JavaFX & SWT 6
F Swing Java Swing Array in Datei und wieder raus AWT, Swing, JavaFX & SWT 7
A Swing Paint mit Button Clear den Hintergrund säubern um wieder zeichnen zu können AWT, Swing, JavaFX & SWT 2
M Java anwendung VOR vollbildspielen (schon wieder...) AWT, Swing, JavaFX & SWT 5
P jframe setVisible(false) wieder sichtbar machen? AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben