Menüleisten-Titel in Java/Swing-Programm festlegen?

MikeZ

Freiherr von Berlepsch
Registriert
19.01.05
Beiträge
1.116
Hallo,

ich bin gerade am verzweifeln mit einem wahnsinnig dummen Problem. Ich schreibe gerade mit Netbeans ein Java-Programm und würde gerne in der Titelleiste den korrekten Namen meines Programms angezeigt haben. Um das zu bewerkstelligen findet man im folgende Zeile:

Code:
System.setProperty("com.apple.mrj.application.apple.menu.about.name", "Name");

Das zeigt bei mir aber keine Wirkung!

Hat jemand eine Idee?

Viele Grüße,
Michael
 

MasterofDistres

Kleiner Weinapfel
Registriert
07.12.06
Beiträge
1.139
Nach ein bisschen Suchen hab ich verschiedene Dinge gefunden, einmal ein paar Codeschnipsel (enthält dein genanntes, aber noch weitere) (http://www.devdaily.com/apple/mac/java-mac-native-look/Putting_your_application_na.shtml)

Und bei Apple in der Dokumentation (http://developer.apple.com/mac/libr...ormIntegration/NativePlatformIntegration.html) findet sich folgendes:
Apple Dev-Connection schrieb:
This application menu, by default, contains the full name of the main class as the title. This name can be changed using the -Xdock:name command-line property, or it can be set in the information property list file for your application as the CFBundleName value.

Vielleicht hilft dir das ja weiter ;)
 

MikeZ

Freiherr von Berlepsch
Registriert
19.01.05
Beiträge
1.116
Hallo,

danke für die Links erstmal!

Mein Problem ist, dass ich das Ganze komplett plattformunabhängig machen will und diese Info.plist OS X-spezifisch zu sein scheint...
Ich suche eher eine Möglichkeit in meinem Programm abzufragen, ob es unter OS X läuft und dann die entsprechenden Optionen zu starten.

Ich vermute fast, dass es in Richtung System.setProperty läuft, aber ich weiß es nicht...

Grüße,
Michael
 

nevermind

Bismarckapfel
Registriert
19.12.07
Beiträge
142
Code:
if (System.getProperty("os.name").equals("Mac OS X")) {...

geht natürlich, aber ich halte es für sinnvoller für jedes OS einen eigenes GUI-Projekt zu erstellen, und das Model in einem weiteren zu belassen. Vor allem deshalb weil man je nach komplexität der GUI für jedes OS ein bisschen was ändern muss.
 

DasMesser

Empire
Registriert
02.10.08
Beiträge
88
Hallo,

erstmal muss ich dir leider sagen das es unheimlich schwierig und auch nur bedingt möglich ist ein Java Programm nativ aussehen zu lassen. Manche Sachen wie z.B. Sheets gehen nur mit Java 6. Wenn du dann aber z.B. QTJ (Quicktime for Java) nutzen möchtest ist das garnicht möglich weil QTJ nur unter Java 5 32 Bit funktioniert. Du wirst früher oder später feststellen müssen das du keinen echten OS X look hinbekommen wirst.
Jetzt aber zu den guten Nachrichten. Es gibt bereits fertigen Code der dir hilft deine GUI OS X like aussehen zu lassen. Dazu solltest du dir am besten folgende Seite anschauen: LINK.

Ich wünsche viel Spaß beim experimentieren.

Grüße DasMesser

EDIT. Wie nervermind schon sagte wirst du fast ne GUI für jedes OS machen müssen damit das Programm im jeweiligen OS nativ aussieht.