36

これらの記事によると:

http://news.kynosarges.org/2015/06/29/javafx-dpi-scaling-fixed
https://twitter.com/michaelsamarin/status/729234779292483584

Java 9 は、Swing で高 DPI ディスプレイ (自動 DPI スケーリング) をサポートする必要があります。Zulu 9上のJava 9 Early Access +の最新バージョンでテストしましたが、動作し、見た目も非常に優れています。

高解像度/網膜画像の読み込みという1つのことだけを解決できませんでした。

上下の記事 (リンク) によると、Apple の命名規則( @2x )を使用する必要があります。

image.pngimage@2x.pngimage@3x.pngなど

これらの読み込み方法をテストしました:

Toolkit.getDefaultToolkit().getImage(getClass().getClassLoader().getResource("something/image.png"));

ImageIO.read(getClass().getResource("/something/image.png"));

しかし、これらはどれも機能しません (唯一の基本イメージがロードされてぼやけました)。

これによれば:

https://netbeans.org/bugzilla/show_bug.cgi?id=239745

最初の方法は有望なはずです。

これを経験した人はいますか (Swing または JavaFX を使用)? 私が何か間違ったことをしているのか、それともこの機能が Java 9 ソファーの現在のプレリリース バージョンに実装されていないのかはわかりません。


アップデート:

可能なはずです:

http://openjdk.java.net/jeps/263

次の命名規則も試しました(ここで説明):

Windows : image.scale-<dpi-value>.png (image.scale-140.png)
Linux : image.java-scale2x.png
Mac : image@2x.png and image.java-scale2x.png

ただし、実用的な解決策や公式情報は見つかりません。わかりません。今日、hdpi ディスプレイは一般的であり、Java アプリケーションは s のように見えます。

4

1 に答える 1