Swing JMenu verschwindet nicht beim klicken ausserhalb des JMenu!

frankred

Mitglied
Hi Leute,
habe seit einiger Zeit folgendes Problem:

Wenn ich meine ein ein JMenu öffne und klicke zum Beispiel unten auf meine Liste, schließt sich das JMenu nicht automatisch, ist das normal?

Wie kann ich das erreichen? Ist das nicht default normalerweise?
 
Zuletzt bearbeitet von einem Moderator:
also zu deinem Problem, ja das ist normal, ich glaube, es ist eigentl. bei jedem Programm, welches ich kenne so,... wieso sollte es denn offen bleiben, wenn man was im Menü einstellen will kann man doch darauf klicken und nicht irgendwo im Fenster rumklicken
 
Zuletzt bearbeitet:
es verschwindet aber auch nicht wenn ich irgendwo im JFrame klicke, klar wenn ich innerhalb des JMenus klicke bleibt es offen...
aber sonst auch, stört irgendwie sehr. Damit es schließt muss ich nochmal das JMenu oben anklicken...
sehr seltsam^^
 
Sieh mal nach, ob du wirklich ein JMenu, eine JMenuBar und JMenuItems verwendest. (was ja eigentlich auch so aussieht)
Ganz wichtig auch: setJMenuBar() verwenden.

Ansonsten zeigst du mal den relevanten Code.
 
Sind alles J, also Swing Elemente die ich verwende, hier ein Code ausschnitt vielleicht hilft das euch weiter...

Java:
menuBar = new JMenuBar();
				setJMenuBar(menuBar);
				{
					fileMenu = new JMenu();
					menuBar.add(fileMenu);
					fileMenu.setText("Datei");
					{
						jSeparator1 = new JSeparator();
						fileMenu.add(getMusicImportMenuItem());
						fileMenu.add(getSaveLists());
						fileMenu.add(jSeparator1);
					}
					{
						exitMenuItem = new JMenuItem();
						fileMenu.add(exitMenuItem);
						exitMenuItem.setText("Beenden");
						exitMenuItem.setIcon(new ImageIcon(getClass()
								.getClassLoader().getResource(
										"de/roth/jsona/img/door_out.png")));
						exitMenuItem.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								exitMenuItemActionPerformed(evt);
							}
						});
					}
				}
				{
					settingsMenu = new JMenu();
					menuBar.add(settingsMenu);
					settingsMenu.setText("Einstellungen");
					settingsMenu.add(getHelpMenuItem());
					settingsMenu.add(getInformationMenuItem());
				}
			}
 

Zurück
Oben