Guten Tag,
Ich habe ein Problem, bei dem ich alleine nicht mehr weiter komme. Da ich mein Quelltext besser strukturieren wollte habe ich mich dazu entschlossen eine Klasse Hauptmenu zu erstellen, die von JMenuBar erbt. In dieser habe ich dann im Konstruktor JMenus und diesen dann wiederum JMenuItems hinzugefügt. In meinem Hauptfenster (extends JFrame) habe ich dann diese Menubar mittels setJMenuBar hinzugefügt. Dies funktioniert soweit auch... Wenn ich nun jedoch auf ein Menu klicke, dann wird das Menu an der falschen Stelle geöffnet. Ich vermute, dass der Rahmen von Windows bei der Positionierung nicht mit einbezogen wird, aber warum?
Hier ein Screen Shot:
Hier der vereinfachte Code
Ich habe im Internet einige Beispiele gesehen, die auch so strukturiert sind. Mit dem Unterschied, dass es funktioniert... Ich suche allerdings schon seit 4 Stunden verzweifelt den Fehler...
Vielen Dank für die Hilfe im Voraus
Timo Christ
Ich habe ein Problem, bei dem ich alleine nicht mehr weiter komme. Da ich mein Quelltext besser strukturieren wollte habe ich mich dazu entschlossen eine Klasse Hauptmenu zu erstellen, die von JMenuBar erbt. In dieser habe ich dann im Konstruktor JMenus und diesen dann wiederum JMenuItems hinzugefügt. In meinem Hauptfenster (extends JFrame) habe ich dann diese Menubar mittels setJMenuBar hinzugefügt. Dies funktioniert soweit auch... Wenn ich nun jedoch auf ein Menu klicke, dann wird das Menu an der falschen Stelle geöffnet. Ich vermute, dass der Rahmen von Windows bei der Positionierung nicht mit einbezogen wird, aber warum?
Hier ein Screen Shot:
Hier der vereinfachte Code
Java:
public class Hauptfenster extends JFrame
{
.....
Deklarationen
.....
public Hauptfenster(String title)
{
super(title);
setJMenuBar(new Hauptmenu());
getContentPane.add(new SpielFeld()); //Spielfeld erbt von JPanel
....
pack();
setVisible(true);
}
.....
Weitere private Funktionen
}
Java:
public class Hauptmenu extends JMenuBar
{
....
Deklaration der MenuPunkte (JMenu, JMenuItem, JCheckBoxMenuItem)
....
public Hauptmenu()
{
super();
add(menu1);
add(menu2);
menu1.add(menuItem1);
....
....
....
}
weitere private Funktionen
}
Ich habe im Internet einige Beispiele gesehen, die auch so strukturiert sind. Mit dem Unterschied, dass es funktioniert... Ich suche allerdings schon seit 4 Stunden verzweifelt den Fehler...
Vielen Dank für die Hilfe im Voraus
Timo Christ
Zuletzt bearbeitet: