Java Swing-GUIs unter Mac OS X

8

Haben Sie jemals versucht, Swing nur zu benutzen, um am Ende Kurse zu ändern, weil es einfach nicht das machen konnte, was Sie wollten?

Ich bin ziemlich neu in Swing, ich habe es nur für Schulprojekte vor über fünf Jahren benutzt, aber es scheint, dass Swing einen langen Weg in Richtung eines nativen Look and Feel zurückgelegt hat, so sehr, dass ich darüber nachdenke es um die GUI für eine App unter Mac OS X zu entwickeln. Vorher wollte ich aber sehen, ob irgendjemand irgendwelche Showstopper-Probleme hatte, die die Verwendung von Swing verhinderten.

Direkt von meinem Kopf, einige Möglichkeiten:

  • Probleme beim Entwickeln von benutzerdefinierten Komponenten, die "richtig" aussehen
  • Schlechte Interaktionen mit nativen Anwendungen und Widgets
  • Performance-Probleme (Nicht-Reaktion, Repaint-Probleme)
  • Unfähigkeit, natives Verhalten zu imitieren (wie Dock-Interaktion)
alanlcode 29.06.2009, 02:40
quelle

5 Antworten

8

Swing bietet Ihnen keine perfekte Wiedergabetreue mit dem Hosting-Betriebssystem. Sun kann einfach nicht die erheblichen Ressourcen dafür aufbringen. Mein Eindruck ist, dass Swing viel besser geworden ist, aber immer noch fehl am Platz aussehen wird.

Das Mindestmaß, um sogar als Mac-App bestehen zu können:

  • packen Sie Ihre .jar in einer .app
  • setzt L & amp; F auf Systemstandard
  • Setzen Sie die Eigenschaft apple.laf.useScreenMenuBar auf true
    • muss dies vor jedem UI-Code tun

Dock-Interaktion ist in Standard-Java nicht vorhanden. Sie müssen die Cocoa-Java-Bridge von Apple verwenden, die nicht mehr unterstützt wird. Ich habe keine Ahnung, wie handhabbar JNI ist auf OS X, das ist die einzige echte Alternative.

Leistung sollte kein Problem sein. Ziehen & amp; Drop ist unter OS X wahrscheinlich genauso haarig wie überall sonst.

Wenn Sie explizit auf OS X abzielen, verwenden Sie am besten Objective-C. Es ist bei weitem nicht unmöglich, eine App unter OS X mit Java & amp; Swing, aber es ist eine Menge Arbeit, um es "nativ" aussehen zu lassen.

    
Kevin Montrose 29.06.2009, 04:06
quelle
6

Wie Kevin und John sagten, sollten Sie Objective-C, Cocoa und XCode ausprobieren, wenn Sie nur auf Mac-Benutzer abzielen. Die Entwickler-Tools für Mac sind frei verfügbar.

Wenn Sie Java und Swing verwenden wollen (oder müssen), können Sie einige Bibliotheken verwenden, um eine GUI zu erstellen, die auf Macs gut aussieht:

Für die Bereitstellung Ihrer Anwendung sollten Sie die JarBundler Dokumentation lesen.

In diesem Fall ist die Interaktion mit dock- und nativen Anwendungen jedoch sehr begrenzt.

Einige andere gute Links sind:

Csaba_H 29.06.2009 06:08
quelle
4

@Kevin ++

Kakao ist wahrscheinlich besser

  • Wenn Sie möchten, dass es genau wie native Anwendungen aussieht
  • Wenn Sie nur auf den Mac zielen

Wenn Sie beabsichtigen, Ihre Anwendungen für Windows, Linux usw. zu verteilen, ist Swing eine gute Wahl. Es ist besser, aber wie in jedem Toolkit gibt es immer noch Probleme. Sie werden nie ein echtes natives Aussehen und Gefühl erhalten, dasselbe gilt für ähnliche UI-Toolkits, die behaupten, "plattformübergreifend" zu sein.

Die Apple-Richtlinien für die Java-Entwicklung finden Sie hier .

    
John Doe 29.06.2009 04:43
quelle
0

Swing ist ein schöner Weg zu gehen, oder Sie können SWT oder BEIDE gehen!

Aber verwenden Sie sie in jedem Fall oben auf der RCP-Plattform. (entweder mit Eclipse oder Netbeans).

Sieh dir das an: Ссылка

marco

    
marcolopes 29.06.2009 03:09
quelle
0

Macify kann helfen.

    
Jay Askren 16.07.2010 00:56
quelle

Tags und Links