Hallo zusammen
kann man irgendwie das Look and Feel der Java Applets unter Linux aendern ? Das sieht sehr haesslich aus mit dem Motif-Look
gruss akula
Hallo zusammen
kann man irgendwie das Look and Feel der Java Applets unter Linux aendern ? Das sieht sehr haesslich aus mit dem Motif-Look
gruss akula
Hängt wahrscheinlich davon ab, ob die Applets AWT oder SWING benutzen.
Ich könnte mir vorstellen, dass es für SWING ein Property gibt, also eine Config Einstellung, die das Default Look-and-Feel festlegt.
Bei AWT müsste man wahrscheinlich eine andere Implementation der AWT Peers benutzen. Sun ist da bischen konservativ und benutzt eine Motif Implementation.
Ciao,
_
Qt/KDE Entwickler
Debian Benutzer
Für Swing steht alles nötige da:
http://java.sun.com/docs/books/tutor...misc/plaf.html
aber du meinst wohl AWT - da kann man leider nix machen.
Du kannst ja nicht von jedem User verlangen, dass er alternative AWT-Peers verwendet. (Und fest in ein Applet einbauen geht auch nicht, da da auch JNI d.h. C-Code dabei ist)
MfG Peschmä
The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)
Ah, sehr fein, wusste ich doch, dass das gehen mussOriginal geschrieben von peschmae
Für Swing steht alles nötige da:
http://java.sun.com/docs/books/tutor...misc/plaf.html
Das ist ja auch Aufgabe des JVM Herstellers oder Packagers (falls das der Hersteller erlaubt).
aber du meinst wohl AWT - da kann man leider nix machen.
Du kannst ja nicht von jedem User verlangen, dass er alternative AWT-Peers verwendet. (Und fest in ein Applet einbauen geht auch nicht, da da auch JNI d.h. C-Code dabei ist)
In den meisten Fällen die Schuld von Sun, hat ihnen niemand verboten für ihre Linux Classlib eine halbwegs normale AWT Peer Implementation zu machen.
Kann man nur hoffen, dass sie das im Hinblick auf ihr JDS neu überdenken und zumindest eine GTK2 Peer Implementierung machen.
Wäre auch nett, wenn jemand ein JVM Package mit Trolltechs QtAWT machen würde.
Oder mit Kaffes QtAWT.
Qt/KDE Entwickler
Debian Benutzer
Es gibt Gerüchte, dass SUN ab Java 1.5 das AWT (zumindest auf Unix Platformen) komplett als Leightweight-Komponenten ausführen wollen, da sie ja OpenGL zum Rendering auf Unix-Paltformen einsetzten wollen, welches sich anscheinend mit OpenGL schlecht verträgt.
Ich verstehe in dieser Hinsicht SUN nicht, da das Motif-AWT erstens beim Erzeugen/Entfernen von Widgets sehr langsam ist und zweitens muss da ja eine Menge legancy-code rumgeschleppt werden, es sei denn die machen die ganzen Zeichenoperationen in einem Motif-Canvas was natürlich die schlechte Performance von SWING unter Linux erklären würde.
Das Problem an sich ist natürlich, dass man SWING und AWT mischen kann, womit sich sun eine menge probleme einhandelt....
Mir wäre ein leightweight awt amliebsten, da es sich dabei sowieso um eine legancy-api handelt, mit welcher man (selbst auf qt gehostet) nix anständiges zusammenbringen kann. Somit würde wenigstens die Implementierung nicht die Optimierung anderer Komponenten stören und könnte sich nebenbei noch an das aktuell gesetzte LNF von SWING anpassen.
Hat schon jemand Erfahrungen mit der 1.5-Alpha dies für Javalobby-Mitglieder gibt?
@anda_skoa: Da Problem an diesen AWT ist, dass sie nicht wirklich funktionieren. Grundsätzliches klappt, aber wenns gefinkelt wird, scheitern die meisten an anderen Event-Vehalten, Bugs, Layouting Problemen, ...
Nachtrag: Auf der JavaOne2003 hat ein Typ von Sun das gesagt:
[quote]
WT on Linux and Unix® systems is currently based on the Motif widget set. AWT is often called a Heavyweight Toolkit, because of its Motif-based peers. The construction of one Toolkit on top of another Toolkit can often cause "impedance mismatches" that can lead to sluggish performance due to the excessive layering of code, not to mention quality problems and nightmare bugs. In JavaTM 2 Platform, Standard Edition (J2SETM) v1.5, AWT will take on a new set of peers that remove the Motif toolkit from underneath AWT. This provides a high-performance and high-quality Toolkit that will be 100% backward compatible with existing JavaTM technology applications.[quote]
Geändert von Lin728 (19-08-2017 um 22:10 Uhr)
Ich hab im Moment die 1.5er Alpha. Sieht immer noch wie Motif aus, weiss aber nicht ob es Motif ist.
Wie find ich das raus?
Allerdings scheint sich was geändert zu haben - in allen Menüs hab ich bei jedem Menüpunkt am Anfang ein hässliches schwarzes Rechteck, das die ersten ~4 Buchstaben überdeckt...
MfG Peschmä
The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)
Mach mal eine exception im event-thread und dann schau ob irgendwo die Motif-Peers im Stacktrace drinnen sind, was besseres fällt mir auch nicht ein...
Wie ist denn die 1.5er so? Ist das neue Metal-LNF schon drinnen und ist swing schon OpenGL-basierend? Wie ist die Swing-Performance generell so?
Geändert von Lin728 (19-08-2017 um 22:10 Uhr)
Sun ist ein Unixhersteller, die haben eine Motiflizenz und sicher auch jede Menge Motif Know-How.Original geschrieben von ceisserer
Ich verstehe in dieser Hinsicht SUN sowieso nicht, da das Motif-AWT erstens beim Erzeugen/Entfernen von Widgets sehr langsam ist und zweitens muss da ja eine Menge legancy-code rumgeschleppt werden, es sei denn die machen die ganzen Zeichenoperationen in einem Motif-Canvas was natürlich die schlechte Performance von SWING unter Linux erklären würde.
Motif ist außerdem auf Solaris Maschinen praktisch Native Look&Feel und die Linux Implementierung war bisher ein ziemlich stiefmütterlich behandelter Solaris Port.
Hab davon keinen Gebrauch gemacht, ich bin im Moment zeitmäßig nicht in der Lage, viel Java zu machen.
Hat schon jemand Erfahrungen mit der 1.5-Alpha dies für Javalobby-Mitglieder gibt?
Hmm, Bugs sollten sich fixen lassen. Die AWT Architektur ist ja darauf ausgelegt, auf anderen Toolkits implementiert zu werden, sie verwendet unter Window ja auch kein Motif.
@anda_skoa: Da Problem an diesen AWT ist, dass sie nicht wirklich funktionieren. Grundsätzliches klappt, aber wenns gefinkelt wird, scheitern die meisten an anderen Event-Vehalten, Bugs, Layouting Problemen, ...
Die QtAWT von TT ist sicher ok, die ist ja die Standard AWT auf Qtopia Systemen.
Wäre zu hoffen.In JavaTM 2 Platform, Standard Edition (J2SETM) v1.5, AWT will take on a new set of peers that remove the Motif toolkit from underneath AWT. This provides a high-performance and high-quality Toolkit that will be 100% backward compatible with existing JavaTM technology applications
Ciao,
_
Qt/KDE Entwickler
Debian Benutzer
Hab mal ein find -name "*motif*" - es gibt noch einen Ordner mit dem Namen und einer Libawt drinnenOriginal geschrieben von ceisserer
Mach mal eine exception im event-thread und dann schau ob irgendwo die Motif-Peers im Stacktrace drinnen sind, was besseres fällt mir auch nicht ein...
Keine Ahnung. Mag mich nicht erinnern sowas gelesen zu haben.
Wie ist denn die 1.5er so? Ist das neue Metal-LNF schon drinnen und ist swing schon OpenGL-basierend? Wie ist die Swing-Performance generell so?
(Ich weiß man darf nicht öffentlich drüber berichten, gehts dass du mir ne mail schreibst an ceisserer AT utanet DOT at? - das wäre echt nett weil ich auf die 1.5er irgendwie mit großer Hoffnung erwarte....)
Die Performance von Swing auf meinem PC ist immer noch recht lahm aber mittlerweile vergleichbar mit Gtk2 - also doch einige schneller als frühere (imho auch als 1.4.2) Versionen. Wie das auf einem "normal gut" ausgestatteten PC tut weiss ich nicht.
JEdit ist auf jeden Fall mittlerweile benutzbar geworden.
Das Metal-LNF sieht anders aus (wirklich besser). Ob das definitiv ist oder nicht kann ich natürlich nicht sagen.
MfG Peschmä
The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)
Ich freu mich auf jedenfall, dass SWING sogar im Alpha-Status schneller ist als die 1.4.2-release und dass Metal nun endlich salonfähiger geworden ist.
Geändert von Lin728 (19-08-2017 um 22:11 Uhr)
Hab gerade gesehen: Ne JSE 1.5.0 Beta ist da.
MfG Peschmä
The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)
Ja, ich habe mir die Beta auch angesehen.
Nun, so gesehen ganz nett. Das neue L&F ist besser als Metal
Die Geschwindigkeit des angeblich OpenGL-beschleunigten Swing beeindruckt mich auch gar nicht, owbohl ich ne NVidia-Karte hab :-(
Und die AWT-Peers sind noch immer motif, wenn auch überarbeitet...
Außerdem hat eine App die ich mit dem JBuilder-Gui-Designer gemacht habe arge layout-probleme, obohl sie unter 1.3+ problemlos lief.
Geändert von Lin728 (19-08-2017 um 22:11 Uhr)
Hab mir die 1.5 Beta auch angeschaut - einige Punkte (zB. durchsichtige Buttons) scheinen in der Beta (noch?) nicht zu funktionieren. Sonst dünkt mich Swing ein wenig schneller (für Windows) und die L&F sehen doch eindeutig besser aus.
MfG Bischi
PS: Hatte auch sonst noch Bugs: Schriftfarbe einer HTML-Seite in meinem Programm stimmte vorne und hinten nicht:-))
"There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams
--> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...
Kann das jetzt HTML v 4.0? Oder XHTML?
MfG Peschmä
The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)
Lesezeichen