Swing Menü Hauptfenster

  • Themenstarter Themenstarter Gast
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hey!

Ich krieg es einfach nicht gebacken meine Menüs in Swing in der "Hauptleiste" anzulegen. Normalerweise werden ja die Menüs in dem JFrame angelegt das man erzeugt, ich möchte sie aber wie beim AWT eben oben in der Leiste haben wo eben auch alle anderen Programme ihre Menüs haben - hoffentlich hab ich mich nicht zu unverständlich ausgedrückt...

Gruß Yim
 
Suchst du etwa "setJMenuBar"? Wenn du da eine Menübar übergibst, müsste es sich doch so verhalten.
 
Also ich programmier auf nem Mac und wenn man da die Menüs im AWT erstellt sind die eben nicht auf (in) dem erzeugtem Frame sondern oben in der Hauptleiste wo auch die anderen Programme wie z.B. Safari oder eben alle anderen ihre Menüs haben - ist irgendwie blöd zu erklären - wenn ich aber nun in Swing ein Fenster erstelle setzt man ja mit setJMenubar das menü aufs Fenster; Ich will es aber oben in der "Hauptleiste haben.
Ich bin mir eigentlich sicher das das irgendwie geht, aber ich möcht die Regel Swing und AWT nicht zu mischen nicht verletzen.
 
wenn du mit hauptleiste nicht die JMenuBar meinst, würde ich vermuten meinst du eine JToolbar, falls es das nicht ist kannst ja mal nen Screenshot machen, kenn nämlich davon dir besagte Programm net u. weiss sonst nicht was du meinen könntest.
 
@Gast: ich weis was du meinst... wenn ich's nicht vergesse, schlag ich über mittag schnell zuhause nach... ist ein kapitel im "Swing Hacks"... 🙂
 
@ m@nu

Super 🙂 Ich bedank mich schon mal im voraus! Swing Hacks ist ja auch schon mal ein guter Tip 🙂
 
@Gast: probiers mal so aus:
Code:
System.setProperty("apple.laf.useScreenMenuBar", "true");
am besten setzt du diese zeile zu beginn deiner main-methode.

"Swing Hacks" von O'Reillys find' ich ein hammer buch... (ISBN 0-596-00907-0) ... kann ich wirklich jedem swing-programmierer empfehlen 🙂

@mic_checker: kennst du das mac-gui? ... die haben quasi eine "taskleiste" am oberen bildschirmrand. darin werden jedoch nicht die laufenden tasks angezeigt (okok, werden sie auch... aber in einem klickbaren menü 😉 ), sondern das menü der applikation/des fensters, welche/s aktuell den fokus hat 🙂
 
Hat auf anhieb funktioniert 🙂

Super!!!!

Kennst du vielleicht nen Link auf die Apple Developper Seiten wo solche Sachen beschrieben werden - das ist ja eher was systemspezifisches, und es sollte doch ne Doku darüber geben ?!
 
da bin ich leider überfragt, da ich auf windows java entwickle :-/ google findet nix anständiges?
 
Hmm..ok - kannte ich bisher nicht, aber man lernt ja nie aus. Hab gedacht er will ne JToolbar.

Was will ich auch nen Apfel auf meinem Computer? 😉
 
Ach die Developper Seiten sind so unübersichtlich - wird halt ne menge geboten...
Aber ich hab dann jetzt doch noch was gefunden was mein Problem löst - wenn man erst mal weis wo nach man suchen muss ist es meist viel einfacher ;-)

Also als wenn Java dann doch bitte auch System-unabhängig - oder nicht?

Deshalb denke ich das dein Bsp. ein anderes System verwirren könnte - hier deshalb eine system-unabhängige Lsg.
Einfach das Prog mit "java -Dapple.laf.useScreenMenuBar=true classname" starten und voila Prob gelöst 🙂

Danke nochmal an alle - kam mir beid der Frage am anfang etwas blöde vor - war dann aber wohl doch nicht ganz trivial...
 
hehe, deine lösung bewirkt genau das gleiche wie die codierte, und ist somit auch nicht systemunabhängig (wenn du auf allen system mit diesem parameter startest)
um das ganze systemunabhängig zu gestallten, kannst du zu beginn in deinem programm prüfen, ob du wirklich auf einem mac-system "drauf" bist, und dann entsprechend die property setzen...
is wahrscheinlich am saubersten

kein prob... 🙂
 
8) Hehe Ist schon klar!

Du wirst mir aber wohl recht geben das man nen Befehl schneller ändern kann als compilierten Code oder?

So long.......
 
klar... aber drum sag ich ja: bau ne betriebssystemabfrage in deine mainmethode ein... dann läuft ganz sicher nix mehr falsch 🙂
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben