Javamenue + Actionlistener

Status
Nicht offen für weitere Antworten.

alaska94

Aktives Mitglied
Hallo liebe Kollegen,

nachdem ich mir ein Javaprogramm geschrieben habe, indem ich mir mit Buttons ein Menu zusammengebaut habe, möchte ich mich nun an Der MenuBar() bzw. Menu() versuchen.
Das aufbauen der Menuleisten ist nicht besonders schwer, nur jetzt habe ich ein Problem mit dem Actionlistener.

Beim Button habe ich das folgendermaßen erledigt.



Code:
JButton register = adm_hinz.get_register();
if (arg0.getSource().equals(register)) {
.........
}

Ich habe mir einfach jeden Button den ich erstellt habe zurückgebenlassen und damm mit getSource() untersucht ob der bestimmte Button gedrückt wurde. Der Vorteil ist hier, dass ich 1000 Butten mit dem Namen "Ende" vergeben kann und jeder Button was anderes machen könnte.

Jetzt möchte ich das gleiche bei der Listbox hinbekommen. Nur leider weiß ich nicht, wie ich ein einzelnes MenuItem auf .getSource() untersuchen kann, bzw zurückgeben kann. Jeder Versuch führte dazu, dass die gesamte Menueleiste das Programm beendet.

Im Moment funktioniert meine Menuleiste wie folgt


Code:
/*
 * Diese Klasse baut ein Swingfenster und die dazugehörigen Objekte
 */
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.event.ActionListener;

i

	public class Window extends JFrame{
		
		private Start controller = null;

		//Hier wird das Fenster erstellt über den default-standart-Konstruktor
		public Window(String ueberschrift,int x, int y,Start c){
			this.controller=c;
			this.setLayout(null);
			this.setTitle(ueberschrift);
			//this.addWindowListener(new WindowClosingAdapter(true));
			this.setSize(x,y);
			this.setResizable(false);
		}


		//Diese Methode setzt das Fenster auf Visible
		public void zeige_Fenster(boolean wert){
			this.setVisible(wert);
		}

		
		
		public MenuBar menuleiste(){
			MenuBar menu= new MenuBar();
			return menu;			
		}
		
		public Menu add_Menu(String name){
			Menu m = new Menu(name);
			m.add(m);
			return m;
		}
		
		public Menu edit_menu(String name, Menu menu){
			menu.add(new MenuItem(name));
			menu.addActionListener((ActionListener) controller);
			return(menu);
			
		}
		
		public Menu unter_Menu(Menu eingang, Menu ausgang){
			ausgang.add(eingang);
			return ausgang;
		}
		
		public Menu ende_menu(String name, Menu menu){
			MenuItem mi;
			mi=new MenuItem(name);
			mi.setActionCommand(name);
			mi.addActionListener(controller);
			menu.add(mi);
			return menu;
		}


		public Start getC() {
			return controller;
		}


		public void setC(Start c) {
			this.controller = c;
		}
}
Code:
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowListener;

import javax.swing.JFrame;


public class Start extends JFrame implements ActionListener {
	
	private Window fenster = null;
	private MenuBar menuleiste = null;
	private Menu menu= null;
	private Menu ende = null;
	private Menu untermenu = null;
	/**
	 * @param args
	 */
	
	public Start(){
		this.fenster=new Window("Menu",600,600,this);
		this.menuleiste= new MenuBar();
		
		menu=this.fenster.add_Menu("Datei");
		menu=this.fenster.edit_menu("Exit", menu);
		menu=this.fenster.ende_menu("Ende", menu);
		//menu.add(ende);
		this.menuleiste.add(menu);
		
		
		menu=new Menu("Bearbeiten");
		untermenu= this.fenster.add_Menu("Speichern");
		untermenu=this.fenster.edit_menu("Alles", untermenu);
		untermenu=this.fenster.edit_menu("Markierung", untermenu);
		menu=this.fenster.unter_Menu(untermenu,menu);
		this.menuleiste.add(menu);
		
		this.fenster.setMenuBar(this.menuleiste);
		this.fenster.zeige_Fenster(true);
	}
	
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Start start = new Start();
		

	}


	public void actionPerformed(ActionEvent arg0) {
		// TODO Auto-generated method stub
		String cmd=arg0.getActionCommand();
		if(cmd.equals("Ende")){
			System.exit(0);
		}
		
	}

}


Kann mir einer sagen, wie ich das mit getSource hin bekomme?
Gruß Alaska
 

André Uhres

Top Contributor
Du kannst mit
mi.setActionCommand(actionCommand);
dem Menuitem einen Actioncommand geben der verschieden vom Namen ist.
 
G

Guest

Gast
Ja das weiß ich, aber dann kann ich leider nicht mit .getSource().equals arbeiten so weit ich weiß?
Mein Menue geht ja, nur leider nicht mit .getSource()

Gruß

Alaska
 

alaska94

Aktives Mitglied
getSource() ist sehr unschön und sollte auch nur in Ausnahmefällen verwendet werden.

Gruß,
nocxsville.

Ich esse auch gerne Spaghetti :)
Wenn solltest du schon eine Begründung geben.

Ne also cih finde das gut. Wenn du 4 Buttons hast und die alle Ende nennst, alle aber was anderes machen sollen, geht es nicht anders, als mit getSource. Ich arbeite am liebsten mit getSource(). Deswegen meine Frage ob ein Menue mit getSource() möglich ist.


Gruß

Alaska
 

The_S

Top Contributor
Kleine Vorwarnung: Ich hab gar nichts (außer deinen letzten und den Beitrag von nocxville) gelesen, aber warum sollte ein Menü nicht mittels "getSource" zu überprüfen sein?
 

alaska94

Aktives Mitglied
Wenn man einen JButton mittels .getSource überbrüft. Bekommt jeder Button ja ein eigenes Objekt zugewiesen.
Bei einem Menue ist es meiner Meinung nach nciht möglich, da ein Menue aus mehreren Menuepunkten besteht. Und nicht jeder Menuepunkt ein Objekt ist sonder die ganze Menueliste. Ich habe es einmal probiert. Da hatte ich leider das Problem, dass jeder Menuepunkt das gleiche gemacht hat. Kann mir hier einer nen COdebeispiel hinschreiben, wie ich bei einer Menueliste mti .getSource arbeiten kann?


Gruß

Alaska
 

The_S

Top Contributor
Code:
JMenuItem exit = new JMenuItem("Beenden");
...
if (evt.getSource() == exit) {
   System.exit(0);
}
 

alaska94

Aktives Mitglied
Naja ich verwende immer die Model-View-Controller Technik. Und icih denke mit der wird das nicht gehen. Aber ich schaue einfach mal, wie ich es am besten mache.


Gruß

Alaska
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E ActionListener Java Basics - Anfänger-Themen 4
U Eigenschaft eines JTextfiels per ActionListener ändern... Java Basics - Anfänger-Themen 2
U HILFE! - per ActionListener Felder enablen....... Java Basics - Anfänger-Themen 5
C JButton reagiert nicht auf actionListener Java Basics - Anfänger-Themen 15
H Eine Methode über Actionlistener beenden Java Basics - Anfänger-Themen 8
J Array Actionlistener Java Basics - Anfänger-Themen 9
J ActionListener von JCheckBox im Knoten von JTree funktioniert nicht Java Basics - Anfänger-Themen 2
P Erste Schritte ActionListener Java Basics - Anfänger-Themen 2
F Problem mit KeyListener in kombination mit dem ActionListener Java Basics - Anfänger-Themen 4
F Habe ein problem mit dem ActionListener Java Basics - Anfänger-Themen 3
J Erste Schritte Actionlistener für tbar/ JButton Java Basics - Anfänger-Themen 15
krgewb ActionListener Java Basics - Anfänger-Themen 1
L Zugriff auf Attribute eins Objekts über ActionListener Java Basics - Anfänger-Themen 4
T Konsolenscanner startet nicht durch Aufruf von Actionlistener Java Basics - Anfänger-Themen 4
F ActionListener mit Files etc Java Basics - Anfänger-Themen 12
N Probleme mit dem ActionListener Java Basics - Anfänger-Themen 4
CptK Auf ActionListener von anderer Klass aus zugreifen Java Basics - Anfänger-Themen 5
F Mehrere Buttons mit einem ActionListener abdecken Java Basics - Anfänger-Themen 24
U ActionListener mit JMenuItems verknüpfen Java Basics - Anfänger-Themen 1
S in ActionListener auf Eingabe aus anderem Frame warten Java Basics - Anfänger-Themen 2
L Problem bei Java-ActionListener Java Basics - Anfänger-Themen 4
J Anfänger: ActionListener und ProcessBuilder machen Probleme Java Basics - Anfänger-Themen 6
D Einen Wert unter einen ActionListener weitergeben Java Basics - Anfänger-Themen 1
T Übernahme einer Variablen im ActionListener/ActionEvent Java Basics - Anfänger-Themen 2
JavaNewbie2.0 ActionListener Java Basics - Anfänger-Themen 11
Voreck Actionlistener problem Java Basics - Anfänger-Themen 1
G Im ActionListener eine "äußere" Variable verändern Java Basics - Anfänger-Themen 13
T Fehler beim ActionListener Java Basics - Anfänger-Themen 2
M public static int in ActionListener Java Basics - Anfänger-Themen 6
S actionlistener timer Java Basics - Anfänger-Themen 9
J Interface ActionListener in eigener Klasse Java Basics - Anfänger-Themen 27
P aus ActionListener auf HauptFrame zugreifen Java Basics - Anfänger-Themen 4
A Klassen Bool Actionlistener Java Basics - Anfänger-Themen 2
K Methoden ActionListener wird übersprungen Java Basics - Anfänger-Themen 3
S actionlistener Java Basics - Anfänger-Themen 29
S ActionListener und Statische Variablen Java Basics - Anfänger-Themen 4
J ActionListener Java Basics - Anfänger-Themen 5
A ActionListener Java Basics - Anfänger-Themen 9
R Problem mit ActionListener für Buttons Java Basics - Anfänger-Themen 5
Z ActionListener wird nicht erkannt? Java Basics - Anfänger-Themen 5
T ActionListener Source vergleichen Java Basics - Anfänger-Themen 8
T Frage zum ActionListener Java Basics - Anfänger-Themen 5
R ActionListener mit for Schleife füllen. Java Basics - Anfänger-Themen 4
K Button's mit versch. Aufgaben/ActionListener Java Basics - Anfänger-Themen 12
S KeyListener/ActionListener/paint()/repaint() Java Basics - Anfänger-Themen 3
I ActionListener reagiert nicht Java Basics - Anfänger-Themen 6
N Probleme mit ActionListener und Logischer Abfrage Java Basics - Anfänger-Themen 4
D Erste Schritte Buttons mit actionlistener Problem Java Basics - Anfänger-Themen 3
S JButton mit ActionListener Java Basics - Anfänger-Themen 5
S ActionListener, Methoden und Variablen Java Basics - Anfänger-Themen 4
X Variablen Actionlistener | Variablen-namen Java Basics - Anfänger-Themen 5
G ActionListener implementieren Java Basics - Anfänger-Themen 12
T Erste Schritte Berechnete Variable im ActionListener zurückführen Java Basics - Anfänger-Themen 6
D Panel sichtbar/unsichtbar machen im ActionListener Java Basics - Anfänger-Themen 3
U JFrame durch ActionListener erweitern Java Basics - Anfänger-Themen 4
M Button , actionlistener Java Basics - Anfänger-Themen 11
P Erste Schritte JTable mit Daten aus Acces DB füllen und Actionlistener einsetzen Java Basics - Anfänger-Themen 29
M Actionlistener Java Basics - Anfänger-Themen 9
D Problem mit ausgelagertem Actionlistener Java Basics - Anfänger-Themen 4
D KeyListener und ActionListener Problem Java Basics - Anfänger-Themen 6
M Klassen Durch den ActionListener das GUI einer anderen Klasse verändern Java Basics - Anfänger-Themen 8
T NullPointerException im ActionListener Java Basics - Anfänger-Themen 3
C Erste Schritte GUI - ActionListener - Exception Nullpointer Java Basics - Anfänger-Themen 5
Kenan89 ActionListener in eigene Klasse Java Basics - Anfänger-Themen 8
E JMenu ActionListener reagiert nicht? Java Basics - Anfänger-Themen 6
V ActionListener in einer for-Schleife Java Basics - Anfänger-Themen 2
S Erste Schritte ActionListener auf Buttons einrichten Java Basics - Anfänger-Themen 3
M Variablen Variable lässt sich durch ActionListener nicht ändern Java Basics - Anfänger-Themen 5
P ActionListener Action Event Java Basics - Anfänger-Themen 5
L ActionListener zerschießt AnchorLayout Java Basics - Anfänger-Themen 8
D ActionListener braucht zwei Klicks auf Button??? Java Basics - Anfänger-Themen 2
M Methoden Timer in ActionListener aufrufen Java Basics - Anfänger-Themen 2
Y Actionlistener passt nicht zu Dataset Java Basics - Anfänger-Themen 6
W Problem mit FileWriter / ActionListener Java Basics - Anfänger-Themen 6
F actionListener Java Basics - Anfänger-Themen 3
T ActionListener auslagern Java Basics - Anfänger-Themen 14
S Actionlistener funktionieren nicht in der .jar Java Basics - Anfänger-Themen 9
E ActionListener abwarten lassen? Java Basics - Anfänger-Themen 11
E ActionListener in anderer Klasse erkennen Java Basics - Anfänger-Themen 13
H ActionListener Verbesserung möglich? (This) Java Basics - Anfänger-Themen 3
E ActionListener erkennt instanz nicht Java Basics - Anfänger-Themen 9
V ActionListener bei vielen Modulen Java Basics - Anfänger-Themen 3
J ActionListener Java Basics - Anfänger-Themen 2
T JLabel durch ActionListener ändern Java Basics - Anfänger-Themen 4
S ActionListener Java Basics - Anfänger-Themen 4
U actionListener - eine Kleine Frage Java Basics - Anfänger-Themen 7
K Actionlistener Java Basics - Anfänger-Themen 7
M ActionListener außerhalb des EDT ausführen Java Basics - Anfänger-Themen 2
A ActionListener im JMenu - Problem Java Basics - Anfänger-Themen 2
M ActionListener reagiert nicht Java Basics - Anfänger-Themen 4
N ActionListener + GUI Java Basics - Anfänger-Themen 8
H Bewegtes Bild im ActionListener [Problem] Java Basics - Anfänger-Themen 12
D Liste+ActionListener Java Basics - Anfänger-Themen 6
L wie Jframe an ActionListener übergeben Java Basics - Anfänger-Themen 4
U ActionListener und KeyListener - KeyListener funktioniert nicht Java Basics - Anfänger-Themen 2
A JButton ActionListener nach einmaligem Ausführen zurücksetzen Java Basics - Anfänger-Themen 13
Luk10 Problem mit ActionListener Java Basics - Anfänger-Themen 6
R Viereck zeichnen über TextField-Eingabe /ActionListener Java Basics - Anfänger-Themen 9
C ActionListener problem beim starten von programmen Java Basics - Anfänger-Themen 3
C ActionListener problem Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben