JMenuItem

der Prof

Mitglied
Hallo,

ich möchte wenn ich einen Eintrag im Menü aktiviere eine Aktion auslösen.. z.B ein neues Fenster "öffnen"..

hier die klasse

Java:
public class JMenuDemo {

	public static void main(String[] args) {
		JFrame hauptfenster = new JFrame( "Programm");
		hauptfenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		JMenuBar menuBar = new JMenuBar();

		JMenu dateiMenu = new JMenu("Datei");
		menuBar.add(dateiMenu);
		JMenu helpMenu = new JMenu("Hilfe");
		menuBar.add(helpMenu);

		hauptfenster.setJMenuBar(menuBar);

		dateiMenu.add(new JMenuItem("Neues Fenster" ));
		dateiMenu.add(new JMenuItem("Schliessen"));
		helpMenu.add(new JMenuItem("About Programm"));

		ActionListener al = new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				JFrame openFenster = new JFrame();
				openFenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

				openFenster.setLocation(320, 240);
				openFenster.setSize(320, 240);
				openFenster.setVisible(true);
			}
		};
		
//		.addActionListener(al);

		hauptfenster.setLocation(320, 240);
		hauptfenster.setSize(640, 480);
		hauptfenster.setVisible(true);
	}
}

ich hab nachgelesen das die objekte vom typ JMenuItem mit "addActionListerner" genau die gleichen Listener wie ein JButton zugewiesen bekommen..

beim JButton hab ich es schon hinbekommen.. aber ein JButton im JMenuBar sieht nicht so toll aus.. und ist falsch denke ich

ich weiss nicht was ich schreiben muss..

MfG
 
Zuletzt bearbeitet:
Wie kommst du denn darauf, einen JButton in ein Menu einbauen zu wollen. Im Prinzip
ist dein Ansatz schon richtig.

JMenuItem item = new JMenuItem("blablabla");
item.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ev)
{
....
}
}
);
 
Hallo,

du solltest auch den ActionListener dem MenuItem hinzufügen.

Im moment schreibst du zwar nen ActionListener, aber der wird nie aufgerufen.

Code:
JMenuItem item = new JMenuItem("Neues Fenster" );
item.addActionListener(al);

MFG

zEriX
 
Halllo Freunde,

Ich brauch wiedermal eure Hilfe :)

Java:
JFrame fenster = new JFrame();
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JMenu dateiMenu = new JMenu("Datei");
		menuBar.add(dateiMenu);
		dateiMenu.add(new JMenuItem("Öffnen"));
		JMenuItem item = new JMenuItem("Öffnen");

fenster.setLocation(320, 240);
		fenster.setSize(640, 480);
		fenster.setVisible(true);

ActionListener jItemÖffnen = new ActionListener() {
			
			public void actionPerformed(ActionEvent e) {
				JFrame neuesFenster = new JFrame();
				neuesFenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

				neuesFenster.setLocation(480, 380);
				neuesFenster.setSize(640, 480);
				neuesFenster.setVisible(true);
			}
		};
		item.addActionListener(jItemÖffnen);
	}

Also irgendwie kann ich den "Fehler" nicht finden.. wenn ich auf das JMenuItem "Öffnen" klicke erscheint kein neues JFrame...

irgendwass hab ich falsch gemacht.

MfG

*Edit: Hat sich Erledigt :)

Java:
JMenuItem openItem = new JMenuItem("Öffnen");
dateiMenu.add(openItem);
 
Zuletzt bearbeitet:
Zurück