JMenubar

Status
Nicht offen für weitere Antworten.

brausemause

Mitglied
Hallo!

ich versuche seit einiger Zeit eine dynamische Menuleiste zumachen.
Dass bedeutet, wenn ich ein Event kommt, dann soll diese Menuleiste einen JMenu eintrag entfernen und einen anderen hinzufügen.
Erstmal: geht das überhaupt?

Ich habe das ganze so gemacht, dass ich mir immer eine neue JMenubar erstelle, die alte lösche und dann die neue hinzufüge.

vereinfacht sieht das ganze so aus:


Code:
//die Methode gibt eine Menuleiste zurück
menuBar = baueMenuLeiste(true);
anzeige.setJMenuBar(menuBar  );

Nun das switchen der Menuleiste:

Code:
anzeige.remove(menuBar);
menuBar = baueMenuLeiste(false);
anzeige.setJMenuBar(menuBar  );


Da ich nicht sooo der GUI spezialist bin, habe ich auch schon sehr viele andere Sachen probiert, also mit setVisible der einzelnen Einträge und so weiter.

Vielen Dank für Eure Hilfe.

Brausemause
 

TRunKX

Bekanntes Mitglied
Eigentlich müsste es auch gehen einfach teile auf disabled zu setzen.... das sollte dir viel Arbeit ersparen oder wie hat du dir das gedacht?
 

brausemause

Mitglied
Danke für Deine Antwort.

Das disablen macht das ganze grau - und es ist ja irgendwie noch da! Ich würde aber gerne eine Art Menuleisten Switch machen von


Datei Generalisiert Hilfe

zu

Datei Einfach Hilfe


Geht das ohne großen Aufwand?



Viele sonnige Grüße

brausemause
 

mikachu

Top Contributor
Die MenuItem's der MenuBar als Klassenvariablen speichern und dann deren Bezeichnung dynamisch ändern.
 

TRunKX

Bekanntes Mitglied
Das ändert dann aber nix in den Menüs ^^.


Also der container von JMenuBar hat eine Methode remove(int Index) und damit kannste dir ein Item an der stelle rauswerfen und dann insert oder add mit dem Index das neue direkt dort einfügen.

Das sollte theoretisch klappen!
 

brausemause

Mitglied
Hej,
mmh, das hat aber nicht geklappt - habe ich ja oben schon probiert.

Muss man dann irgendwas aufrufen, dass das aktualisiert wird? Bein enable muss man das ja nicht.
Ich kann leider nicht meinen ganzen Code online stellen, weil das echt viel und mehrere Klassen sind, aber vielleicht hilft das:


Code:
//Im Konstruktor:
//Menueleiste bauen
		menuBarGeneralized = false;
		menuBar = baueMenuLeiste(false);
		anzeige.setJMenuBar(menuBar  );

//Methode von außen zugänglich:


public boolean aendereMenuLeiste(boolean gen){
		if(menuBarGeneralized!=gen){
			anzeige.remove(menuBar);
			anzeige.setJMenuBar(baueMenuLeiste(gen));
			return true;
		}
		else 
			return false;
		
	}

//Die Menuleistenbaumethode - stark gekürzt:

private	JMenuBar baueMenuLeiste(boolean gen) {

MenuBarListener menuListener = new MenuBarListener(model, this);
//		Menueleiste bauen
		JMenuBar menuBar = new JMenuBar(); 

	//Allgemein
		if(gen){
			JMenu genMenu = new JMenu("Generalized"); 
			menuItem = new JMenuItem("Longest Common Substring...");
			menuItem.setActionCommand("lcs");
		    menuItem.addActionListener(menuListener);
			genMenu.add( menuItem);
			
			menuBar.add(genMenu ); 
		}
	
		//Simple
		else{
		 JMenu anMenu = new JMenu("Simple"); 
		
		menuItem = new JMenuItem("Pattern Searching...");
		menuItem.setActionCommand("ps");
	    menuItem.addActionListener(menuListener);
		anMenu.add(menuItem );
		
		
		menuBar.add(anMenu ); 
		}
return menuBar;
}

danke euch!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C JMenuBar AWT, Swing, JavaFX & SWT 6
K Event Handling Über JMenuBar die diversen Panels anzeigen AWT, Swing, JavaFX & SWT 10
J Swing JMenuItem blockiert JMenuBar AWT, Swing, JavaFX & SWT 2
S JMenuBar bei sichtbarer JGlassPane AWT, Swing, JavaFX & SWT 1
R JMenuBar.setFont tut nix ? AWT, Swing, JavaFX & SWT 1
I Swing JMenuBar auch unten am JFrame? AWT, Swing, JavaFX & SWT 2
A Swing JMenuBar updaten AWT, Swing, JavaFX & SWT 2
kaoZ Swing JMenuBar, Preferences, Properties... und viele andere lustige Dinge (Best Practice) AWT, Swing, JavaFX & SWT 15
Q Designfrage zur JMenuBar AWT, Swing, JavaFX & SWT 6
S JMenuBar wiederverwenden und Eventhandling anpassen AWT, Swing, JavaFX & SWT 4
B Swing JMenuBar unten in der Frame setzen? AWT, Swing, JavaFX & SWT 15
Q Fragen zur JMenuBar & Co. AWT, Swing, JavaFX & SWT 3
M Über eine JMenuBar überprüfen ob ein JCheckBoxMenuItem selectiert ist. AWT, Swing, JavaFX & SWT 4
M JMenuBar, JMenu, JMenuItem wird nicht angezeigt AWT, Swing, JavaFX & SWT 16
G Swing JMenuBar zu weit links und oben dargestellt AWT, Swing, JavaFX & SWT 5
B Swing Dynamische JMenuBar AWT, Swing, JavaFX & SWT 2
J JMenuBar ist geaddet, aber nicht im Frame. Wo ist der Fehler? (inkl. Code) AWT, Swing, JavaFX & SWT 2
D JMenuBar - CardLayout (Klasse anzeigen) AWT, Swing, JavaFX & SWT 3
S JMenuBar Frame Abstand AWT, Swing, JavaFX & SWT 3
H jMenuBar AWT, Swing, JavaFX & SWT 13
NR_EIGHT Swing Probleme mit JMenuBar AWT, Swing, JavaFX & SWT 6
M JMenuBar im Applet und paint AWT, Swing, JavaFX & SWT 9
Madlip JMenuBar in JFrame AWT, Swing, JavaFX & SWT 5
B JFrame / JMenuBar => Anfängerprobleme AWT, Swing, JavaFX & SWT 2
R JMenuBar AWT, Swing, JavaFX & SWT 2
S JMenuBar nach 1. Klick deselectieren AWT, Swing, JavaFX & SWT 6
Z JMenuBar wird nicht in JFrame angezeigt AWT, Swing, JavaFX & SWT 2
N JMenuBar verschwindet nicht nach ComponentEvent AWT, Swing, JavaFX & SWT 6
C JMenuBar aktualisieren? AWT, Swing, JavaFX & SWT 2
A Doppelte JMenuBar AWT, Swing, JavaFX & SWT 2
X NullPointerException beim Einfügen einer JMenuBar AWT, Swing, JavaFX & SWT 4
C JMenuBar im JFrame abgehackt AWT, Swing, JavaFX & SWT 7
J Swing JFrame mit JMenuBar, allerdings ohne Erfolg AWT, Swing, JavaFX & SWT 10
K Look&Feel von JMenuBar und Subkomponenten anpassen AWT, Swing, JavaFX & SWT 6
C JMenuBar linksbündig AWT, Swing, JavaFX & SWT 6
C Größe JMenuBar AWT, Swing, JavaFX & SWT 5
KrokoDiehl Swing Actions direkt auf der JMenuBar AWT, Swing, JavaFX & SWT 6
L Swing Kommunikation zwischen JMenuBar und anderen Componenten AWT, Swing, JavaFX & SWT 2
Developer_X Swing JMenuBar Layout AWT, Swing, JavaFX & SWT 2
kniffel JMenuBar aus anderer Klasse AWT, Swing, JavaFX & SWT 10
G Dynamische JMenuBar AWT, Swing, JavaFX & SWT 2
G JMenuBar verschmälern AWT, Swing, JavaFX & SWT 2
M ALT shortcut für JMenuBar deaktivieren AWT, Swing, JavaFX & SWT 3
X JMenuBar überlappt von JPanel :( AWT, Swing, JavaFX & SWT 7
M4nuel Warum überlagert JDesktopPane mein JMenuBar? AWT, Swing, JavaFX & SWT 5
G StatusBar Optik wie JMenuBar; GUI-Erzeugung delegieren AWT, Swing, JavaFX & SWT 2
J JMenuBar in Frame einbauen AWT, Swing, JavaFX & SWT 6
D Canvas über JMenuBar AWT, Swing, JavaFX & SWT 7
P JMenuBar und JToolBar Anzeige Probleme AWT, Swing, JavaFX & SWT 5
C JLabel in JMenuBar frei platzieren AWT, Swing, JavaFX & SWT 2
Chris_1980 Makierungsfarbe bei JMenuBar ändern AWT, Swing, JavaFX & SWT 5
L Problem mit JMenuBar AWT, Swing, JavaFX & SWT 5
F JTextField rechts in der JMenuBar AWT, Swing, JavaFX & SWT 4
A gezeichnete Linie verschwindet, wenn ich JMenuBar öffne AWT, Swing, JavaFX & SWT 2
I JMenuBar - Menüs sortieren AWT, Swing, JavaFX & SWT 2
S JMenuBar mit Action belegen! AWT, Swing, JavaFX & SWT 5
M JMenuBar AWT, Swing, JavaFX & SWT 7
B JMenuBar sowie Buttons nach repaint auf JPanel AWT, Swing, JavaFX & SWT 2
T JMenuBar ausblenden lassen aber Hotkeys sollen erhalten sein AWT, Swing, JavaFX & SWT 2
S JMenuBar + update AWT, Swing, JavaFX & SWT 3
M JMenuBar - JMenu mit Tastenkombination aufrufen / anzeigen AWT, Swing, JavaFX & SWT 8
T JMenuBar zweizeilig AWT, Swing, JavaFX & SWT 2
A JMenuBar + paint (Image) AWT, Swing, JavaFX & SWT 6
M JmenuBar wird net angezeigt :( AWT, Swing, JavaFX & SWT 6
U komplette JMenuBar deaktivieren? AWT, Swing, JavaFX & SWT 4
S Mausklick reagiert nicht im JMenuBar AWT, Swing, JavaFX & SWT 4
A JMenuBar verschieben. AWT, Swing, JavaFX & SWT 4
T JMenuBar wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 5
H JFrame, JMenuBar, ScrollBar AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen


Oben