2013-08-22 6 views
6

Ich benutze Ubuntu 13.04 und kodiere eine Anwendung, um einige Etiketten anzuzeigen (mit der Label-Klasse). Ich habe auch versucht, die Textklasse zu verwenden und den Glättungstyp auf LCD einzustellen. Das Ergebnis ist das gleiche, die Schrift sieht verschwommen aus, ihre Ränder sind verstreut, und Sie müssen ihre Größe auf eine ziemlich große Zahl einstellen, um lesbar zu sein (Hinweis: Ich habe einen Textabsatz angezeigt).Kann das Rendering der Schriftart JavaFX 2/8 verbessert werden?

Ich weiß, JavaFX2 hat LCD-Subpixel-Rendering aber immer noch, kann etwas getan werden, so dass die Schriftart nicht so hässlich aussieht? (Vielleicht verpasse ich etwas für 2.X oder weiß nichts von der Existenz von etwas in 8.X)

Gibt es eine Möglichkeit zu überprüfen, ob LCD-Subpixel-Rendering aktiv ist oder nicht?

Regards,

+0

See [a dev Mailing-Liste Thread auf JavaFX Schrift-Rendering] (http://mail.openjdk.java.net/pipermail/openjfx-dev/2013-August/009822.html). – jewelsea

+1

Wie der Oracle-Typ sagt: "Unter Linux stellen wir ein Freetype-Backend zur Verfügung, aber wahrscheinlich wird es nicht standardmäßig aktiviert sein (was bedeutet, dass wir dort T2K verwenden werden). Ich glaube nicht, dass ich Zeit habe, es zu beheben Linux diesmal. " Hier https://javafx-jira.kenai.com/browse/RT-14187 möchte ich auf 3 Dinge hinweisen: 1. Sehen Sie sich die Schriftart von Eclipse unter Linux an und wie die Schriftart JavaFX aussieht. 2. SIND WIR ZU CROSS PLATFORM?!?! 3. Android kann Hologramme haben, bis Sie dieses Toolkit richtig bekommen. – aureliangtx

+1

Es scheint, dass dieses Problem kein Problem auf der Windows-Plattform ist, denn leider scheint die Behebung von Problemen, die Windows betreffen, den Vorrang zu haben, die die (viel besseren) Linux-Plattformen betreffen. – Kerry

Antwort

8

Verwenden

System.setProperty("prism.lcdtext", "false"); 
System.setProperty("prism.text", "t2k"); 

beide oder einer zur Zeit.

0

Ändern der Schriftart der gesamten Anwendung auf 'Ubuntu Light', gibt mir ein perfektes Aussehen. Ich habe auch einige andere Schriften ausprobiert, aber sie haben das Aussehen verschlechtert.

Schritt 1: Fügen Sie den folgenden Stil in application.css Datei hinzu.

.text { 
    -fx-font-family: "Ubuntu Light"; 
} 

Schritt 2: Wenden Sie den Stil Ihrer Eltern-Szene.

scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); 
Verwandte Themen