私が取り組んでいるデスクトップ Java アプリケーションがあり、IDE を介した開発に JDK 6 を使用しています。このレンダリング ヒントVALUE_FRACTIONALMETRICS_ON
を他のヒントと一緒に使用して、JLabels でテキストをより適切にレンダリングします。これらのヒントは JVM 1.6 で美しく機能しますが、最近VALUE_FRACTIONALMETRICS_ON
、JRE 1.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 は、テキストに最も顕著な視覚効果をもたらすので、それを機能させることが私がやろうとしていることです。
これは、Java 6 を使用するIDE からアプリを実行したとき (左) と、私のシステム JRE、Java 7 を使用した Jar ファイル自体 (右) をダブルクリックしたときのスクリーン ショットの比較です。また、ペイントメソッドが機能することを示すために一時的に赤い境界線を追加しました)
どんな助けでも大歓迎です。