Listener

Hi ich benötige mal bitte Eure Hilfe, also ich möchte ein Menü erstellen und mein Problem ist, dass wenn man auf den UnterMenü Punkt(Start) klickt, soll sich erst der UnterMenüPunkt (Lokales Spiel) öffnen...
ABER bei mir öffnet er sich schon wenn ich nur mit der Maus darüber fahre.

Meine Idee war es einen Action Listener zu initialiserieren, aber irgendwie hat sich dann immernoch nichts getan(war evtl auch falsch programmiert). Aber eigentlich geht es doch nicht ohne einen Action Listener oder?

Danke im Vorraus:)

Java:
public class GameMenu extends JMenuBar {
	private static final long serialVersionUID = -4264316693132737579L;

	
	private JCheckBoxMenuItem menuItemAI;
	GameMenu MenuBar;


	private JMenuItem SubMenu;
	private JMenuItem menuItemL;	//
	
	public GameMenu() {
		createMenuBar();
		
	}


	void createMenuBar() {
		JMenu menuGame = new JMenu("Spiel");	
		menuGame.setMnemonic(KeyEvent.VK_S);	
		add(menuGame);
		menuGame.addSeparator();
		
		SubMenu = new JMenu("Start");					//SubMenu ist ein Menüpunkt mit dem Namen "Start"
		SubMenu.setMnemonic(KeyEvent.VK_S);				//schnellaufruf mit "ALT + S"
		menuGame.add(SubMenu);							//füge dem Menü, "SubMenu" hinzu
	
	

		menuItemL = new JMenuItem("Lokales Spiel");		//"menuItemL" ist ein Menüpunkt mit dem Namen "Lokales Spiel"
		menuItemL.setMnemonic(KeyEvent.VK_L);			//schnellaufruf mit "ALT + L"
	
		SubMenu.add(menuItemL);						//füge "menuItemL" dem SubMenu hinzu
		
		
		menuGame.add(getRestartItem());
		menuGame.add(getEndItem());						//
		menuGame.addSeparator();


		JMenu menuExtras = new JMenu("Extras");
		menuExtras.setMnemonic(KeyEvent.VK_E);
		add(menuExtras);	
	}
	
	

	
	JMenuItem getLokalStartItem() {
		menuItemL = new JMenuItem("Lokales Spiel");		//"menuItemL" ist ein Menüpunkt mit dem Namen "Lokales Spiel"
		menuItemL.setMnemonic(KeyEvent.VK_L);			//schnellaufruf mit "ALT + L"
		menuItemL.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent arg0) {
				
			}
		});
		menuItemL.setMnemonic(KeyEvent.VK_L);
		
		return menuItemL;

	}

	public void setResetEnabled(boolean resetEnabled) {

		menuItemL.setEnabled(resetEnabled);		
	}
	
}
 

strußi

Top Contributor
mein menu hab ich so erstellt

Java:
public class Menubar implements ActionListener{
    
    private JFrame frame;
    
    private boolean progStartB =true;
    private boolean progSaveB =true;
    private boolean progOpenB =true;
    private boolean auswMenuB =true;
    
    
    //M E N Ü
    JMenu auswMenu;
    //Menüpunkte für Programmstart
    JMenuItem progStart, progOpenMess, progOpenTrep, progSave, progNull, progExit;
    //Menüpunkte für die Dateneingabe
    JMenuItem dateneingabeInput, treppenstufenInput;
    //Menüpunkte für die Auswertung
    JMenuItem auswPerlschnur, auswHorizont, auswGrafik;   
    //Menüpunkte für Hilfefunktion
    JMenuItem hilfe, hilfeVersion, hilfeEinlesen;
    
    
    /**
     * Methode zum erstellen der Menüs
     * Erstellen der Menüpunkte und 
     * Initialisierung der Menüunterpunkte mit Name sowie Einbindung in den ActionListener
     * 
     * @return JMenuBar
     */
    public JMenuBar menu(){
        JMenuBar bar =new JMenuBar(); //Menüleiste auf die alle Menüpunkte kommen
        JMenu programmMenu =new JMenu( "Programm"); //Menü "Programm" erstellen
            programmMenu.setMnemonic( 'P'); //Ansprechen des Menüpunktes über Alt+ Markierte Buchstabe
        Icon iHome =new ImageIcon( "icon\\home.gif"); //Icon für den Menüpunkt erstellen
        progStart =new JMenuItem( "Startbildschirm", iHome); //Menüpunkt erstellen
            progStart.addActionListener( this); //Menüpunkt im ActionListener anmelden
            programmMenu.add( progStart); //Menüpunkt im Menü anmelden
            progStart.setAccelerator( // Funktionalität Strg +Buchstabe nach drücken Alt+ Menü
                KeyStroke.getKeyStroke( 'H', InputEvent.CTRL_DOWN_MASK )
              );
            progStart.setEnabled( progStartB);
        Icon iSave =new ImageIcon( "icon\\save_16.png"); //Icon für den Menüpunkt erstellen
        progSave =new JMenuItem( "Speichern", iSave); //Menüpunkt erstellen
            progSave.addActionListener( this); //Menüpunkt im ActionListener anmelden
            programmMenu.add( progSave); //Menüpunkt im Menü anmelden
            progSave.setAccelerator( // Funktionalität Strg +Buchstabe nach drücken Alt+ Menü
                KeyStroke.getKeyStroke( 'S', InputEvent.CTRL_DOWN_MASK )
              );
            progSave.setEnabled( progSaveB);
        Icon iOpen =new ImageIcon( "icon\\open_16.gif"); //Icon für den Menüpunkt erstellen
        progOpenMess =new JMenuItem( "Messwerte laden", iOpen); //Menüpunkt erstellen
            progOpenMess.addActionListener( this); //Menüpunkt im ActionListener anmelden
            programmMenu.add( progOpenMess); //Menüpunkt im Menü anmelden
            progOpenMess.setAccelerator( // Funktionalität Strg +Buchstabe nach drücken Alt+ Menü
                KeyStroke.getKeyStroke( 'O', InputEvent.CTRL_DOWN_MASK )
              );
            progOpenMess.setEnabled( progOpenB);
        progOpenTrep =new JMenuItem( "Treppenstufen laden", iOpen); //Menüpunkt erstellen
            progOpenTrep.addActionListener( this); //Menüpunkt im ActionListener anmelden
            programmMenu.add( progOpenTrep); //Menüpunkt im Menü anmelden
            progOpenTrep.setAccelerator( // Funktionalität Strg +Buchstabe nach drücken Alt+ Menü
                KeyStroke.getKeyStroke( 'T', InputEvent.CTRL_DOWN_MASK )
              );
            progOpenTrep.setEnabled( progOpenB);
        programmMenu.addSeparator();
        Icon iClose =new ImageIcon( "icon\\exit_20.png"); //Icon für den Menüpunkt erstellen
        progExit =new JMenuItem( "Werteeingabe Beenden", iClose); //Menüpunkt erstellen
            progExit.addActionListener( this); //Menüpunkt im ActionListener anmelden
            programmMenu.add( progExit); //Menüpunkt im Menü anmelden
            
        JMenu datInMenu =new JMenu( "Dateneingabe"); // Menü "Dateneingabe" erstellen
        datInMenu.setMnemonic( 'D');
        dateneingabeInput =new JMenuItem( "Messwerte eingeben"); //Menüpunkt erstellen
            dateneingabeInput.addActionListener( this); //Menüpunkt im ActionListener anmelden
            datInMenu.add( dateneingabeInput); //Menüpunkt im Menü anmelden
        treppenstufenInput =new JMenuItem( "Treppenstufen"); //Menüpunkt erstellen
            treppenstufenInput.addActionListener( this); //Menüpunkt im ActionListener anmelden
            datInMenu.add( treppenstufenInput); //Menüpunkt im Menü anmelden
        
        auswMenu =new JMenu( "Auswertung"); //Menü "Auswertung" erstellen
        auswMenu.setMnemonic( 'A'); //Ansprechen des Menüpunktes über Alt+ Markierte Buchstabe
            auswMenu.setEnabled( auswMenuB);
        auswPerlschnur =new JMenuItem( "Perlschnurverfahren"); //Menüpunkt erstellen
            auswPerlschnur.addActionListener( this); //Menüpunkt im ActionListener anmelden
            auswMenu.add( auswPerlschnur); //Menüpunkt im Menü anmelden
        auswHorizont =new JMenuItem( "Horizontenverfahren"); //Menüpunkt erstellen
            auswHorizont.addActionListener( this); //Menüpunkt im ActionListener anmelden
            auswMenu.add( auswHorizont); //Menüpunkt im Menü anmelden
        auswMenu.addSeparator(); //Mehtode zum einfügen einer Trennlinie
        auswGrafik =new JMenuItem( "Grafische Auswertung"); //Menüpunkt erstellen
            auswGrafik.addActionListener( this); //Menüpunkt im ActionListener anmelden
            auswMenu.add( auswGrafik); //Menüpunkt im Menü anmelden
        
        JMenu hilfeMenu =new JMenu( "Hilfe"); //Hilfemenü
        hilfeMenu.setMnemonic( 'H'); //Ansprechen des Menüpunktes über Alt+ Markierte Buchstabe
        Icon iHelp =new ImageIcon( "icon\\Help.png");
        hilfe =new JMenuItem( "Hilfe", iHelp);
            hilfe.addActionListener( this);
            hilfeMenu.add( hilfe);
        Icon iInfo =new ImageIcon( "icon\\info_16.png"); //Icon für den Menüpunkt erstellen
        hilfeVersion =new JMenuItem( "Versionsinfo", iInfo);
            hilfeVersion.addActionListener( this);
            hilfeMenu.add( hilfeVersion);
        hilfeEinlesen =new JMenuItem( "Einlese-Info", iInfo);
            hilfeEinlesen.addActionListener( this);
            hilfeMenu.add( hilfeEinlesen);
            
        bar.add( programmMenu); //Der Menüleiste das Menü "Programm" hinzufügen
        bar.add( datInMenu); //Der Menüleiste das Menü "Dateneingabe" hinzufügen
        bar.add( auswMenu); //Der Menüleiste das Menü "Auswertung" hinzufügen
        bar.add( hilfeMenu); //Hinzufügen eines Hilfemenüs
        return bar;
    }

    

    
    
    @Override
    public void actionPerformed( ActionEvent e){
        Menufunktion menuFunktion =new Menufunktion();
        
        //Programm
        if( e.getSource() ==progStart){ //Startbildschirm - Disable
            menuFunktion.runStartbildschirm( frame);
        } else if( e.getSource() ==progOpenMess){ //Öffnen von Messwerten
            menuFunktion.runOpenMesswerte();
        } else if( e.getSource() ==progOpenTrep){ //Öffnen von Treppenstufenwerten
            menuFunktion.runOpenTreppenstufen();
        } else if( e.getSource() ==progSave){ //Speichern - Disable
            menuFunktion.runSaveMesswerte();
        } else if( e.getSource() ==progExit){ //Beenden
            menuFunktion.runCloseProgramm( frame);
        }
        
        //Probenwerte eingeben 
        else if( e.getSource() ==dateneingabeInput){ //Dateneingabemaske start
            menuFunktion.runEingabeProbenwerte();
            frame.setVisible( false);
        } else if( e.getSource() ==treppenstufenInput){ //Dateneingabemaske start
            menuFunktion.runEingabeTreppenstufenverfahren();
            frame.setVisible( false);
        }
        
        //Auswertung der Probenwerte
        else if( e.getSource() ==auswMenu){ //Berechnung mittels Perlschnurverfahren
            Validierung validierung =new Validierung();
            validierung.validate();
        } else if( e.getSource() ==auswPerlschnur){ //Berechnung mittels Perlschnurverfahren
            menuFunktion.runPerlschnur();
        } else if( e.getSource() ==auswHorizont){ //Berechnung mittels Horizontenverfahren
            menuFunktion.runHorizontenverfahren();
        } else if( e.getSource() ==auswGrafik){ //Grafischeauswertung nach dem Horizontenverfahren
            menuFunktion.runDrawHorizontenverfahren();
        } else if( e.getSource() ==auswGrafik){ //Grafischeauswertung nach dem Perlschnurverfahren
            menuFunktion.runDrawPerlschnurverfahren();
        }
        
        //Hilfestellung
        else if( e.getSource() ==hilfe){ //Große Hilfe
        } else if( e.getSource() ==hilfeVersion){ //Versionsinformationen
            menuFunktion.runHelpVersion();
        } else if( e.getSource() ==hilfeEinlesen){ //Hilfe für das Einlesen von Textdateien
            menuFunktion.runHelpOpenFile();
        } else{}
    }

}
 
Danke für die beiden Antworten, sorry aber mein Englisch ist nicht das Beste...

Ich bin mir nicht sicher was du meinst, aber nicht dass hier oder?

Java:
 public void actionPerformed(ActionEvent e){
}

Das geht ja nur, wenn man Texte ausgeben will oder?
 

Harry Kane

Top Contributor
Du vermischt hier offenbar zwei verschiedene Themen.
Ein JMenuItem öffnet sich und zeigt seine Untermenüs per default, wenn man mit Maus drüberfährt. Ich empfinde das als sehr angenehm, weil man dann nicht ständig mit der Maus irgendwo draufklicken muss. Das ganze hat nix mit ActionListenern zu tun! Diese kommen dann ins Spiel, wenn man die Aktionen definiert, die beim Klick auf ein JMenuItem (nicht JMenu!) ausgelöst werden sollen!
Danke für die beiden Antworten, sorry aber mein Englisch ist nicht das Beste...

Ich bin mir nicht sicher was du meinst, aber nicht dass hier oder?

Java:
 public void actionPerformed(ActionEvent e){
}

Das geht ja nur, wenn man Texte ausgeben will oder?

Die letzte Bemerkung/Frage ist mir vollkommen unklar. Im Rumpf der actionPerformed-Methode kann jeder beliebige Code stehen.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Variable durch Action Listener ändern Java Basics - Anfänger-Themen 2
D String value change listener Java Basics - Anfänger-Themen 2
topi WindowAdapter / Listener / Event Java Basics - Anfänger-Themen 4
L Problem mit Listener Java Basics - Anfänger-Themen 0
P Listener registrieren Java Basics - Anfänger-Themen 40
Salo JTabel Selection listener Bsp. Java Basics - Anfänger-Themen 3
W JLabel, Farbe durch Listener ändern Java Basics - Anfänger-Themen 6
M Listener für Button - Wert von Variablen verändern Java Basics - Anfänger-Themen 14
V JTable welcher Listener ? Java Basics - Anfänger-Themen 7
J Verständnis Problem Java-Listener. Java Basics - Anfänger-Themen 59
M Compiler-Fehler Using action listener Java Basics - Anfänger-Themen 1
F Listener schreiben Java Basics - Anfänger-Themen 1
P Eigene Knöpfe mit eigenem Listener Java Basics - Anfänger-Themen 5
B Listener beim Laden (deserialize) wieder hinzufügen bzw. mitspeichern? Java Basics - Anfänger-Themen 3
kaoZ Best Practice Verständnisfrage Listener bei lokalen Objekten Java Basics - Anfänger-Themen 8
F eigenes Listener Pattern mit Interface Java Basics - Anfänger-Themen 1
llabusch Kombinationsfeld - LISTENER Java Basics - Anfänger-Themen 0
S Eigenen Listener zu eigenen Button! Java Basics - Anfänger-Themen 5
S Listener reagieren nicht mehr Java Basics - Anfänger-Themen 3
O Laufender Timer+Action Listener in Thread VS isAlive() Java Basics - Anfänger-Themen 4
E Mein eigener Listener (Hilfe gesucht) Java Basics - Anfänger-Themen 2
K On Click listener Problem Java Basics - Anfänger-Themen 4
L JTextField/Listener Input Problem Java Basics - Anfänger-Themen 2
M Listener einerm JPanel hinzufuegen Java Basics - Anfänger-Themen 3
G Listener ohne Objekt Java Basics - Anfänger-Themen 5
T Button Text mit Action Listener [Hilfe!] Java Basics - Anfänger-Themen 10
H Eigenen Listener einbauen Java Basics - Anfänger-Themen 5
K Key Listener bei 2 gleichzeitig gedrückten tasten Java Basics - Anfänger-Themen 3
M Bäume und Listener Java Basics - Anfänger-Themen 2
K Erste Schritte table Listener noob frage Java Basics - Anfänger-Themen 3
E eigenständige Listener-Klasse Java Basics - Anfänger-Themen 9
T Motion listener Java Basics - Anfänger-Themen 10
U Listener erstellen Java Basics - Anfänger-Themen 16
N Variablen aus Action Listener lesen und weiterverarbeiten Java Basics - Anfänger-Themen 12
M listener Java Basics - Anfänger-Themen 16
L Listener Problem in Klasse Java Basics - Anfänger-Themen 8
P Listener für mehrere Buttons Java Basics - Anfänger-Themen 3
L Window Listener Java Basics - Anfänger-Themen 2
Kenan89 JTable: Listener Java Basics - Anfänger-Themen 4
N Klassen auf den Action Listener in einer andere Klasse zugreifen Java Basics - Anfänger-Themen 6
A action listener Java Basics - Anfänger-Themen 8
M Netbeans Listener - Anonymous, inner class, main class? Java Basics - Anfänger-Themen 4
K Action Listener reagiert nicht auf Button druck mehr??? Java Basics - Anfänger-Themen 4
E Mehrere Listener auf einen Button? Java Basics - Anfänger-Themen 3
P Input/Output InputStream Listener? Java Basics - Anfänger-Themen 7
X Problem bezüglich Key Listener Java Basics - Anfänger-Themen 3
Y Button hört nicht auf Listener Java Basics - Anfänger-Themen 5
H JTable, Listener und CellEditor Java Basics - Anfänger-Themen 8
H Listener und Events entfernen Java Basics - Anfänger-Themen 2
B OOP Eigener Event-Listener erstellen Java Basics - Anfänger-Themen 4
M Listener Objekte Java Basics - Anfänger-Themen 12
S Applet Key Listener Java Basics - Anfänger-Themen 6
J Action Listener Java Basics - Anfänger-Themen 2
G Probleme mit Listener Java Basics - Anfänger-Themen 27
B Wert einer Variable mit Listener ueberwachen Java Basics - Anfänger-Themen 3
F Port Listener Java Basics - Anfänger-Themen 9
J JComboBox Listener Java Basics - Anfänger-Themen 6
J Window-Listener funktionieren nicht Java Basics - Anfänger-Themen 7
N Frage zu Listener für Textfelder Java Basics - Anfänger-Themen 5
Benji0815 Eigenen Listener schreiben Java Basics - Anfänger-Themen 13
M Probleme beim Aufruf von Listener in anderer Klasse Java Basics - Anfänger-Themen 9
S Key-Listener richtig "einbauen" Java Basics - Anfänger-Themen 42
S Listener von ausserhalb aufrufen Java Basics - Anfänger-Themen 2
S Action Listener Java Basics - Anfänger-Themen 6
Sweety Listener in Swing Java Basics - Anfänger-Themen 8
Hamstinator Design und Listener in verschiedenen Klassen Java Basics - Anfänger-Themen 6
Developer_X Mouse MOTION listener example Java Basics - Anfänger-Themen 5
J Mouse-Listener Java Basics - Anfänger-Themen 3
I Listener Klassen in Package Java Basics - Anfänger-Themen 3
StickToFreak Applet -> GameLoop + Listener / Listener funktioniert nicht Java Basics - Anfänger-Themen 22
B externer Listener für Zeichenbereich? Java Basics - Anfänger-Themen 2
D dialog listener? Java Basics - Anfänger-Themen 2
G Key Listener arbeitet Fehlerhaft Java Basics - Anfänger-Themen 6
C Listener und Events Java Basics - Anfänger-Themen 10
E Listener Java Basics - Anfänger-Themen 2
hdi keylistener hat keinen fokus oder: listener ohne frame? Java Basics - Anfänger-Themen 10
G jtable listener wenn zeile markiert wird Java Basics - Anfänger-Themen 6
S Action Listener Funktioniert nicht Java Basics - Anfänger-Themen 6
D Kombinationsfeld => Realisierung im Listener? Java Basics - Anfänger-Themen 2
G LIstener bei JavaMail Java Basics - Anfänger-Themen 2
G Context Listener des Apache Tomcat verwenden Java Basics - Anfänger-Themen 4
D Listener bzw. Interfaces Java Basics - Anfänger-Themen 7
A Wo/Wie Event Listener Java Basics - Anfänger-Themen 3
G Window Listener? Java Basics - Anfänger-Themen 2
G 2 Listener wiedersprechen sich. Java Basics - Anfänger-Themen 12
G Listener für JPanel für Statusmeldungen Java Basics - Anfänger-Themen 3
F Listener für Variable Java Basics - Anfänger-Themen 29
A Gibt es standardmässig in Java einen Verzeichnis-Listener? Java Basics - Anfänger-Themen 6
N Listener für datei Java Basics - Anfänger-Themen 13
S Mit Listener AWT Objekte ansprechen Java Basics - Anfänger-Themen 2
G listener für radiobutton Java Basics - Anfänger-Themen 1
G Listener Java Basics - Anfänger-Themen 5
G Listener Problem Java Basics - Anfänger-Themen 3
B Wiso funktioniet das nicht? (Listener) Java Basics - Anfänger-Themen 6
H Key Listener macht nicht das was er soll Java Basics - Anfänger-Themen 4
T Wartet Klasse auf Listener? Java Basics - Anfänger-Themen 3
D Listener? Java Basics - Anfänger-Themen 2
S Listener auf JTextfeld Java Basics - Anfänger-Themen 8
B Kommunikation zwischen Klasse und Listener Java Basics - Anfänger-Themen 2
C Benutzereingaben vor Listener abfangen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben