Windowsデバイス上のユーザーモニタの解像度(ピクセル数ではなく現在の作業解像度)を取得しようとすると、面白い問題が発生します。 Screen.getPrimary().getBounds()
は、すべてのシステムのALMOSTで正しい結果を返します。 Win 10ラップトップに問題があります。それらの解像度は、4KおよびFullHDデバイスであっても、1280x768と認識されます。JavaFX Screen.getPrimary()。getBounds()が不正な画面サイズを返します。
Iは、以下のアプローチを試みた:一つだけ(
GraphicsDevice getDisplayMode().getWidth();
GraphicsEnvironment getScreenDevices()
(一方のみが検出された)すべての画面を反復した後、すべての画面を反復次いで
Toolkit.getDefaultToolkit().getScreenSize()
Screen.getScreens()
およびが見つかりました)
私はもうアイデアはありません。すべてのWindowsデバイスで画面解像度を正しく取得する方法について、他の方法がありますか?
はい、あなたは正しいです。 FullHDラップトップでは、もっと低い値(1600x900など)に設定したときにFullHDラップトップが正しい解像度を報告していることを忘れていました。それは特定の決議でのみ "嘘"です!そして、はい、私はそれが正確にスケールされた解像度を報告しても問題ありませんが、それらの値は毎回正しいとは限りません... – shaiko
いいえ、私は解像度を変更することについて話していません。私はデフォルトのテキストサイズの設定について話しています。私はそれがWindowsでどのように呼び出されるのかわかりません。 – mipa
ああ、私はあなたをmisunrestood。あなたが正しいです!それが問題になる可能性があります。私は今それをチェックします! – shaiko