Suche fertige JMenuBar samt Untermenus mit ActionListener

Status
Nicht offen für weitere Antworten.
W

Wini

Gast
Hallo,

suche im Prinzip Code für ein fertiges kleines Programm mit JMenuBar wo ich per ActionListener ein

"Datei"

-"Neu..."
-"Speichern.."
-"Speichern unter ..."
-"Beenden"

"Bearbeiten"

-"kopieren"
-"einfügen"

ausführen kann.

Und z.B. im Menu nach Bearbeiten einen Punkt "Eingabe" mit dem Unterpunkt "Name eingeben"kann, wo sich in dem Hauptfenter ein eingabefenster öffnet (nicht in einem extra fenster, wie z.B. bei Speichern) in dem ich dann einen namen eine nummer und z.b eine telefonnummer eintragen kann.

Für jede hilfe wäre ich dankbar.
 

T1M

Bekanntes Mitglied
Hi,
ich hab das mal so gelöst:
Code:
//Menuleiste erstellen
	public static JMenu makeMenu(Object parent, Object[] items, Object target)
	{
		JMenu m = null;
		if(parent instanceof JMenu)
			m = (JMenu)parent;
		else if(parent instanceof String)
			m = new JMenu((String)parent);
		else
			return null;
		for(int i=0; i<items.length; i++)
		{
			if(items[i]==null)
				m.addSeparator();			//trennstrich
			else
				m.add(makeMenuItem(items[i], target));	//etwas (z.B. speichern) wird in 		
		}												//menuleiste aufgenommen
		return m;
	}
	
	//Menuleiste füllen
	public static JMenuItem makeMenuItem(Object item, Object target)
	{
		JMenuItem r = null;
		if(item instanceof String)
			r = new JMenuItem((String)item);
		else if(item instanceof JMenuItem)
			r = (JMenuItem)item;
		else
			return null;
		if(target instanceof ActionListener)
			r.addActionListener((ActionListener)target);
		return r;
	}
so kann man schön einfach unterpunkte erzeugen.

edit: musst dann in deinem prog die add-methode anwenden um die komplette bar zu erzeugen. und dann per actionperformed einfach funktionen zuweisen.
T1M
 

Sky

Top Contributor
Warum übergibst du für 'target' ein Object und nicht gleich einen ActionListener???
 

T1M

Bekanntes Mitglied
hmm, das geht auch?
hab doch im grunde kA. bin (noch) anfänger ...
aber wenigstens funzt es 1a! :D
 

Sky

Top Contributor
T1M hat gesagt.:
hmm, das geht auch?
hab doch im grunde kA. bin (noch) anfänger ...
aber wenigstens funzt es 1a! :D
Ja klar geht das... einfach überall, wo Object target steht ActionListener target hinschreiben... somit kannst Du Dir das instanceof und den Cast sparen...
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben