KeyEvents und MenuBar

frosty

Mitglied
Hallo zusammen,

ich soll für eine Aufgabe ein kleines Menu erstellen und zu bestimmten MenuItems ShortCuts hinzufügen...

Habe bis jetzt alles gemacht und es läuft auch alles sehr gut jedoch ist mir aufgefallen,
dass ich einen kleinen Fehler nicht rausbekomme...

Unzwar ist folgendes Problem gegeben:
Wenn ich mein Programm starte und ich nichts in meinem Menu ausgewählt (hier: Start) habe und ich mein ShortCut eintippe passiert nichts...
Sobald ich jedoch in meinem Menu bin (hier: Start) und ich wieder ein ShortCut eintippe funktioniert es einwandfrei. Woran liegt das?
Java:
	void createMenuBar() {
		JMenu startGame = new JMenu ("Spiel");
		JMenu menuGame = new JMenu("Start");	
		menuGame.setMnemonic(KeyEvent.VK_S);	
		add(menuGame);
		
		startGame.add(getLocalItem());
		menuGame.addSeparator();
		menuGame.add(startGame);
                          menuGame.add(getRestartItem());
		
                  }

	JMenuItem getRestartItem() {
		menuItemR = new JMenuItem("Neustart");
		menuItemR.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent arg0) {
				Spiel.restart();
			}
		});

                          menuItemR.setMnemonic(KeyEvent.VK_N);
		return menuItemR;
          }

            JMenuItem getLocalItem(){
	menuItemL = new JMenuItem("altes Spiel");
	menuItemL.addActionListener(new ActionListener(){
		@Override
		public void actionPerformed(ActionEvent argo){
			Spiel.zeigeDialog();
		}

	});
	menuItemL.setMnemonic(KeyEvent.VK_L);
	return menuItemL;
}

Außerdem ist mir aufgefallen, dass wenn ich den ShortCut für ein altes Spiel angebe (also ALT + L) nichts passiert außer ich befinde mich auf JMenu ("Spiel)...

Wie kann ich diese beide Sachen ändern, dass ich ein ShortCut ausführe ohne im JMenu zu seien?
 

Gucky

Top Contributor
Liegt es vielleicht am Focus? Das nur die Menüs auf den Shortcut reagieren können, du die KeyEvents aber mangels richtig gesetztem Focus an das Frame gibst?
 

Ähnliche Java Themen

Neue Themen


Oben