Mam aplikację Java na komputery stacjonarne, nad którą pracuję i korzystam z JDK 6 do programowania za pośrednictwem IDE. Korzystam z podpowiedzi renderowania VALUE_FRACTIONALMETRICS_ON
wraz z innymi wskazówkami, aby lepiej renderować tekst w JLabels. Wskazówki te działają pięknie na JVM 1.6, ale ostatnio zauważyłem, że całkowicie ignoruje on VALUE_FRACTIONALMETRICS_ON
, gdy uruchamiam aplikację z JRE 1.7. Czy jest coś, co robię źle, co sprawia, że Java 7 ignoruje te wskazówki?Jak renderować tekst za pomocą FRACTIONALMETRICS w języku Java 7
lblDate = new ATimeLabel(ATimeLabel.DATE_LETTERS) {
private static final long serialVersionUID = 1L;
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
g2d.setRenderingHint(RenderingHints.KEY_RENDERING,
RenderingHints.VALUE_RENDER_QUALITY);
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS,
RenderingHints.VALUE_FRACTIONALMETRICS_ON);
super.paintComponent(g2d);
}
};
FRACTIONALMETRICS ma największy zauważalny efekt wizualny tekst tak, że uzyskanie do pracy jest to, czego szukam zrobić.
o to ekran porównanie strzał, jak to wygląda, kiedy uruchomić aplikację z mojego IDE (Lewicy), który używa Java 6 i kiedy kliknij dwukrotnie Jar złożyć swój własny (Prawy), która wykorzystuje moje systemy JRE, Java 7. (ja również tymczasowy dodał czerwoną ramkę, aby pokazać, że metoda malowania działa)
Każda pomoc będzie bardzo mile widziane.
To nie wydaje się działać. Nie zamierzam sprawić, by był grubszy, dlatego chcę, by był ostry i czysty. To sprawia, że wygląda jak prawo obraz. Szukam, aby wyglądał jak lewy obraz, który jest nieco cieńszy –
Szukam pod-pikseli renderowania czcionek. Ale wydaje się, że tylko Java 6 ... –