JMenuBar und JToolBar Anzeige Probleme

Status
Nicht offen für weitere Antworten.

Pingu

Mitglied
Hallo

Hab folgendes Problem:

Ich habe eine JMenuBar (mit Menu und Items) erstellt und eine JToolBar. Wenn ich das Programm nun ausführe dann wird die JMenuBar und die ToolBar zunächst nicht angezeigt. Erst nachdem ich die Grösse des JFrames mit Drag'n'Drop verändert habe werden die beiden Komponenten angezeigt. Weiss jemand wieso? Oder falls es schon irgendwo eine Lösung gibt würde ich mich über den Link freuen. Habe irgendwie nicht gefunden.

CODE:

Code:
package business;

import java.awt.Image;
import java.awt.MenuBar;

import javax.swing.AbstractAction;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JToolBar;

import com.sun.org.apache.bcel.internal.generic.ANEWARRAY;

import resourcess.ClavisIconFactory;

import java.awt.Component;
import java.awt.event.ActionEvent;
import java.sql.Array;
public class ClavisBOManager extends JFrame{

	public void createTestGUI(){
		
		this.setVisible(true);
		this.setSize(1024, 768);
		this.setTitle("Clavis");
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		ImageIcon clavisImageIcon = ClavisIconFactory.getInstance().getImageIcon(ClavisIconFactory.CLAVIS);
		Image clavis = clavisImageIcon.getImage();
		
		this.setIconImage(clavis);
		
		ImageIcon stop = ClavisIconFactory.getInstance().getImageIcon(ClavisIconFactory.STOP);
		ImageIcon newCode = ClavisIconFactory.getInstance().getImageIcon(ClavisIconFactory.NEW_CODE);
		ImageIcon newGroup = ClavisIconFactory.getInstance().getImageIcon(ClavisIconFactory.NEW_GROUP);
		ImageIcon edit = ClavisIconFactory.getInstance().getImageIcon(ClavisIconFactory.EDIT);
		ImageIcon delete = ClavisIconFactory.getInstance().getImageIcon(ClavisIconFactory.DELETE);
		ImageIcon save = ClavisIconFactory.getInstance().getImageIcon(ClavisIconFactory.SAVE);
		ImageIcon erase = ClavisIconFactory.getInstance().getImageIcon(ClavisIconFactory.ERASE);
		ImageIcon show_table = ClavisIconFactory.getInstance().getImageIcon(ClavisIconFactory.SHOW_TABLE);
		
		ActionStop aStop = new ActionStop("Vorgang abbrechen",stop);
		ActionNewCode aNewCode = new ActionNewCode("Neuer Code",newCode);
		ActionNewGroup aNewGroup = new ActionNewGroup("Neue Grupppe",newGroup);
		ActionEdit aEdit = new ActionEdit("Ändern",edit);
		ActionDelete aDelete = new ActionDelete("Löschen",delete);
		ActionSave aSave = new ActionSave("Speichern",save);
		ActionErase aErase = new ActionErase("Verwerfen",erase);
		ActionShowTable aShowTable = new ActionShowTable("Tabellenansicht",show_table);
		ActionClose aClose = new ActionClose("Beenden");
		ActionInfo aInfo = new ActionInfo("Infos");
		
		JToolBar toolBar = new JToolBar();
		
		JMenuBar menuBar = new JMenuBar();
		JMenu mnuDatei = new JMenu("Datei");
		JMenu mnuAction = new JMenu("Aktionen");
		JMenu mnuInfo = new JMenu ("?");
		
		JMenuItem mniNewCode = new JMenuItem(aNewCode);
		JMenuItem mniNewGroup = new JMenuItem(aNewGroup);
		JMenuItem mniSave = new JMenuItem(aSave);
		JMenuItem mniErase = new JMenuItem(aErase);
		JMenuItem mniEdit = new JMenuItem(aEdit);
		JMenuItem mniDelete = new JMenuItem(aDelete);
		JMenuItem mniStop = new JMenuItem(aStop);
		JMenuItem mniShowTable = new JMenuItem(aShowTable);
		JMenuItem mniInfos = new JMenuItem(aInfo);
		JMenuItem mniClose = new JMenuItem(aClose);
		
		menuBar.add(mnuDatei);
		mnuDatei.add(mniClose);
		
		menuBar.add(mnuAction);
		mnuAction.add(mniNewCode);
		mnuAction.add(mniNewGroup);
		mnuAction.addSeparator();
		mnuAction.add(mniEdit);
		mnuAction.add(mniDelete);
		mnuAction.addSeparator();
		mnuAction.add(mniSave);
		mnuAction.add(mniErase);
		mnuAction.addSeparator();
		mnuAction.add(mniStop);
		mnuAction.addSeparator();
		mnuAction.add(mniShowTable);
		
		menuBar.add(mnuInfo);
		mnuInfo.add(mniInfos);
		
		toolBar.add(aNewCode);
		toolBar.add(aNewGroup);	
		toolBar.addSeparator();
		toolBar.add(aEdit);
		toolBar.add(aDelete);
		toolBar.addSeparator();
		toolBar.add(aSave);
		toolBar.add(aErase);
		toolBar.addSeparator();
		toolBar.add(aShowTable);
		toolBar.addSeparator();
		toolBar.add(aStop);
		
		this.getContentPane().add(toolBar);
		this.setJMenuBar(menuBar);
		
	}

	public void getCodesAsTree(){
		
		
		
	}
	
	public void getGroupAsTree(){		
		
	}
	
	class ActionNewCode extends AbstractAction{

        public ActionNewCode(String text, ImageIcon newCode) {
            super(text,newCode);
        }

		public void actionPerformed(ActionEvent arg0) {
			// TODO Auto-generated method stub
			
		}
    }
	
	class ActionNewGroup extends AbstractAction{

        public ActionNewGroup(String text, ImageIcon newGroup) {
            super(text,newGroup);
        }

		public void actionPerformed(ActionEvent arg0) {
			// TODO Auto-generated method stub
			
		}
    }

	class ActionEdit extends AbstractAction{

        public ActionEdit(String text, ImageIcon edit) {
            super(text,edit);
        }

		public void actionPerformed(ActionEvent arg0) {
			// TODO Auto-generated method stub
			
		}
    }
	
	class ActionDelete extends AbstractAction{
		
        public ActionDelete(String text, ImageIcon delete) {
            super(text,delete);
        }

		public void actionPerformed(ActionEvent arg0) {
			// TODO Auto-generated method stub
			
		}
		
	}
	
	class ActionSave extends AbstractAction{
		
        public ActionSave(String text, ImageIcon save) {
            super(text,save);
        }

		public void actionPerformed(ActionEvent arg0) {
			// TODO Auto-generated method stub
			
		}
		
	}

	class ActionErase extends AbstractAction{
	
    public ActionErase(String text, ImageIcon erase) {
        super(text,erase);
    }

	public void actionPerformed(ActionEvent arg0) {
		// TODO Auto-generated method stub
		
	}
	
}

	class ActionShowTable extends AbstractAction{
	
		public ActionShowTable(String text, ImageIcon show_table) {
			super(text,show_table);
		}
		public void actionPerformed(ActionEvent arg0) {
			// TODO Auto-generated method stub
		}
	}
	
	class ActionStop extends AbstractAction{

        public ActionStop(String text, ImageIcon stop) {
            super(text,stop);
        }

		public void actionPerformed(ActionEvent arg0) {
			// TODO Auto-generated method stub
			
		}
    }

	class ActionClose extends AbstractAction{

        public ActionClose(String text) {
            super(text);
        }

		public void actionPerformed(ActionEvent arg0) {
			// TODO Auto-generated method stub
			
		}
    }
	
	class ActionInfo extends AbstractAction{

        public ActionInfo(String text) {
            super(text);
        }

		public void actionPerformed(ActionEvent arg0) {
			// TODO Auto-generated method stub
			
		}
    }
	
}

Gruss Pingu
 

Ariol

Top Contributor
Bau diese Methode in den Frame:

Code:
public Dimension getPreferredSize()
{
    return new Dimension(400,300);
}

und wieso hast du Unmengen von Actionlistenern?
Kannst doch auch einen bauen und dann mit e.getSource().equals(...) unterscheiden...
 

Pingu

Mitglied
Die habe ich nur provisorisch erstellt die kommen später noch weg. Bzw es wird dann eine Klasse geben die alle Actions verwaltet.

Die Mehtode funktionier bei mir nicht. Hab sie dem Frame und der ToolBar hinzugefügt. Die Menu und die ToolBar werden trotzdem noch nicht von Anfang an angezeigt.
 

m@nu

Bekanntes Mitglied
leg zuerst alle eigenschaften für deinen frame fest und mach setVisible(true) erst ganz am schluss deines konstruktors... so wirds ziemlich sicher funktionieren.
 

Pingu

Mitglied
ok das funtzt erst mal. danke. nun füllt die toolbar aber das ganze frame aus. sie sollt aber nur unter der menuleiste stehen und unten den restlichen freien content des panels.
 

m@nu

Bekanntes Mitglied
Code:
JComponent gui = new JPanel(new BorderLayout());
gui.add(toolber, BorderLayout.NORTH);

frame.setContentPane(gui);

ein tipp allgemein: lager den gui erstellungs code in verschiedene methoden aus, welche dir jeweils einen container/component zurückgeben. das ganze wird dann ein wenig einfacher wartbar...
 
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
C JLabel in JMenuBar frei platzieren AWT, Swing, JavaFX & SWT 2
B JMenubar AWT, Swing, JavaFX & SWT 5
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
kaoZ Swing JToolBar, ImageIcon werden teilweise verdeckt AWT, Swing, JavaFX & SWT 0
U JToolbar resizable o. Ä. AWT, Swing, JavaFX & SWT 3
kaoZ Swing JToolBar AWT, Swing, JavaFX & SWT 13
U JToolBar Button nicht fokussieren AWT, Swing, JavaFX & SWT 2
B JToolBar dynamisch auf mehrere Zeilen erweitern AWT, Swing, JavaFX & SWT 2
Landei Swing JToolbar: Textfelder mit normaler Höhe? AWT, Swing, JavaFX & SWT 2
P Swing JComoBox auf JToolBar AWT, Swing, JavaFX & SWT 4
B Komponente "sauber" entfernen(JToolBar) AWT, Swing, JavaFX & SWT 4
I Swing Optik eines JButton an JToolBar anpassen AWT, Swing, JavaFX & SWT 5
S Drag wie bei JToolbar mit JPanel AWT, Swing, JavaFX & SWT 3
H Swing Den Button einer JToolBar gedrückt halten AWT, Swing, JavaFX & SWT 9
S Hintergrundfarbe in JToolbar nicht angezeigt AWT, Swing, JavaFX & SWT 2
C JToolbar in JTable AWT, Swing, JavaFX & SWT 4
R JMenu in JToolBar AWT, Swing, JavaFX & SWT 6
O Button auf JToolBar rechtsbündig AWT, Swing, JavaFX & SWT 2
M Swing JToolBar Probleme AWT, Swing, JavaFX & SWT 14
A JToolbar lässt sich aus dem Fenster lösen AWT, Swing, JavaFX & SWT 2
E JToolBar ausrichten AWT, Swing, JavaFX & SWT 2
J Swing JToolBar Button mit Icon AWT, Swing, JavaFX & SWT 4
J JToolBar AWT, Swing, JavaFX & SWT 2
M JToolbar nebeneinander? AWT, Swing, JavaFX & SWT 3
H JToolBar Rollover AWT, Swing, JavaFX & SWT 2
D JtoolBar feste Breite ? AWT, Swing, JavaFX & SWT 13
G Icon ans Ende einer JToolbar AWT, Swing, JavaFX & SWT 7
B Toolbar, Toolbar In Toolbar, alterna zu JToolbar AWT, Swing, JavaFX & SWT 3
G JToolBar - addSeparator() funktioniert nicht AWT, Swing, JavaFX & SWT 3
G JToolBar Separator AWT, Swing, JavaFX & SWT 6
C JToolBar ein/ausblenden AWT, Swing, JavaFX & SWT 6
W JToolBar - wohin damit? AWT, Swing, JavaFX & SWT 4
Noar Problem mit Hinzufügen von JToolBar AWT, Swing, JavaFX & SWT 2
G JToolbar gleich als eigenes Fenster öffnen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben