Swing JMenuBar zu weit links und oben dargestellt

Grochni

Mitglied
Hallo miteinander,

ich arbeite für ein kleines Spieleprojekt an einem Quest- und Worldeditor und möchte das Umschalten zwischen diesen beiden Editoren mit einem JMenuBar gestalten.
Mein Problem ist, dass der JMenuBar so weit links und oben angezeigt wird, dass er kaum sichtbar ist. Durch klicken in die linke obere Ecke lässt sich das dazugehörige JMenu anzeigen, allerdings ist der Bereich winzig.

Der Code für den JMenuBar lautet:
Java:
menuBar = new JMenuBar();
view = new JMenu();
worldEditorAction = new JMenuItem("World Editor");
questEditorAction = new JMenuItem("Quest Editor");
	    
view.add(worldEditorAction);
view.add(questEditorAction);
	    
menuBar.add(view);
this.setJMenuBar(menuBar);

Die Klasse erbt, wie zu sehen ist, von JFrame. Die allgemeinen Einstellungen zum JFrame sind:
Java:
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
this.setLayout(null);
this.setLocationRelativeTo(null);
this.setResizable(false);
this.setUndecorated(true);
this.pack();
this.setVisible(true);
this.setTitle("The Rider In The Glass - Editor");

Die Definition der Größe sieht wie folt aus:
Java:
GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
Rectangle screenSize = env.getMaximumWindowBounds();
this.width = screenSize.width;
this.height = screenSize.height; 
setBounds(screenSize.x, screenSize.y, width, height);

Eine nützliche Zusatzinformation ist vielleicht dass ich Linux verwende (Ubuntu 11.10).
Was ich bereits versucht habe, ist das Fenster zu verkleinern, setUndecorated(false) zu setzen und alle Komponenten im JFrame auf der Y-Achse zu versetzen, was aber alles nicht geholfen hat. Auch setResizable(true) habe ich versucht, davon habe ich mir aber auch nicht viel erwartet.

Ich hoffe irgendjemand von euch kann sich einen Reim darauf machen.

Danke schonmal,
lG Christian
 
warum setzt du den JFrame nicht mit [c]setExtendedState(JFrame.MAXIMIZED_BOTH);[/c]..ansonsten ist es halt häufig so, dass sich einigen Sachen verschieben, bspw. aufgrund der Taskleiste, bzw. dem Äquivalent in Linux dazu
 
warum setzt du den JFrame nicht mit setExtendedState(JFrame.MAXIMIZED_BOTH); ..ansonsten ist es halt häufig so, dass sich einigen Sachen verschieben, bspw. aufgrund der Taskleiste, bzw. dem Äquivalent in Linux dazu

Daran habe ich auch schon gedacht, allerdings funktioniert das überhaupt nicht (also die Größe wird nicht verändert). Außerdem wird auf das Linux-Äquivalent des Taskbars durchaus Rücksicht genommen, die Y-Position des JFrames wird durch meine Variante auf 24 gesetzt. Außerdem habe ich es auch schon damit versucht, die Größe des JFrames auf 200x200 zu reduzieren und es in der Bildschirmmitte darzustellen.
 
liegt es etwa daran...???
BTW Null-Layout ist :wuerg:

Java:
view = new JMenu("WasAuchImmer");
 

Zurück
Oben