Rom Geschrieben 24. Juni 2005 Geschrieben 24. Juni 2005 also ich mach gerade GUI für mein spiel..... das problem ist ich will ein Untermenu in einen Menu einbauen!! package GUI; import javax.swing.*; public class menu extends JMenuBar { private JMenuItem miBACK; public menu (){ JMenu m; m = new JMenu ("File"); m.add(new JMenuItem("New Game")); m.add(new JMenuItem("Load Game")); m.add(new JMenuItem("Save Game")); m.addSeparator(); m.add(new JMenuItem("Quit")); add(m); m = new JMenu ("Options"); m.add(new JMenu("Properties")); //ein untermenu wird //erzeugt!! add(m); } public void enableBack(boolean back){ if (back) { miBACK.setEnabled(true); } else { miBACK.setEnabled(false); } } } also hier bekomme ich einen untermenu durch m.add(new JMenu(....)); aber wie kann ich da was reintun?? http://wap.tutorials.de/t-136899.html hier ein beispiel dafür aber inkompatibel zu meinen Zitieren
Oortael Geschrieben 25. Juni 2005 Geschrieben 25. Juni 2005 JMenu m; m = new JMenu ("File"); m.add(new JMenuItem("New Game")); m.add(new JMenuItem("Load Game")); m.add(new JMenuItem("Save Game")); m.addSeparator(); m.add(new JMenuItem("Quit")); add(m); m = new JMenu ("Options"); m.add(new JMenu("Properties")); //ein untermenu wird //erzeugt!! add(m); Ich hab das Gefühl, dass hier der Hund begraben liegt. Du überschreibst mit das Menü mit dem neuen von Options. ich würde es mal so probieren: JMenu m = new JMenu ("File"); m.add(new JMenuItem("New Game")); m.add(new JMenuItem("Load Game")); m.add(new JMenuItem("Save Game")); m.addSeparator(); m.add(new JMenuItem("Quit")); JMenu options = new JMenu ("Options"); options.add(new JMenu("Properties")); //ein untermenu wird erzeugt!! this.add(m); this.add(options); Zitieren
Rom Geschrieben 25. Juni 2005 Autor Geschrieben 25. Juni 2005 alles schön und gut aber is ist genausoviel wie JMenu m; JMenu options; und dann schreibt man m = new JMenu ("Files"); m.add(new JMenuItem ("blabla")); add(m); // und dann options = new JMenu ("Properties"); otptions.add(new JMenu("Untermenu")); add(options); //naja aber dann wie soll es denn gehen? //also ich hab einen Untermenu.... aber wie kann ich da was reintun? //wenn ich mache m.add(new JMenu("untermenu").add(new JMenuItem("UntermenuItem))); // dann hab ich einen untermenu der immer noch leer ist und in den menu //diesen fall "blabla" , weil "m" genomen wurde hab ich einenn MenuItem //untermenu ich brauche den programmcode der mir zeigt wie ich die JMenuItem in den Untermenu reintun kann!! Zitieren
Empujador Geschrieben 26. Juni 2005 Geschrieben 26. Juni 2005 Ich hab ne Funktion für jeden Menupunkt. Hier ist einer davon... private JMenu initMenuAusruestung() { JMenu ausruestung = new JMenu("Ausruestung"); ausruestung.setMnemonic('A'); //Liste JMenuItem item1; item1 = new JMenuItem("Liste", 'l'); item1.addActionListener(this); //Neu JMenuItem item2; item2 = new JMenuItem("Neu", 'n'); item2.addActionListener(this); //Suche JMenuItem item3; item3 = new JMenuItem("Suche", 's'); item3.addActionListener(this); ausruestung.add(item1); ausruestung.add(item2); ausruestung.add(item3); return ausruestung; } [/PHP] ***greetz Empu Zitieren
Oortael Geschrieben 26. Juni 2005 Geschrieben 26. Juni 2005 ich brauche den programmcode der mir zeigt wie ich die JMenuItem in den Untermenu reintun kann!! Ich hab das ausprobiert, und das tut genau das was es soll, es packt ein JMenuItem in ein JMenu. JMenu m1 = new JMenu("Test1"); m1.add(new JMenuItem("Bla1")); Das wiederum packt ein vorhandenes JMenu in ein anderes, so dass man das darunter aufrufen kann: public JMenu drawMenuInMenu() { JMenu m1 = new JMenu("Test1"); m1.add(new JMenuItem("Bla1")); JMenu m2 = new JMenu("Test2"); m2.add(new JMenuItem("Bla2")); JMenu m3 = new JMenu("Test3"); m3.add(new JMenuItem("Bla3")); m1.add(m2); m1.add(m3); return m1; } Ansonsten, beschreib bitte dein Problem etwas genauer und poste deinen Code. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.