LinuxのGetDeskTopProperty()は何ですか?
-
25-10-2019 - |
質問
ネイティブOSの高コントラストモードを読んで、製品に設定を適用する必要があります。今、私はこのようなことをしました:
try {
Toolkit toolkit = Toolkit.getDefaultToolkit();
boolean highContrast = (Boolean)toolkit.getDesktopProperty("win.highContrast.on" );
}catch(Exception e) {
}
これはWindowsで正常に機能しますが、Linux High Contrast設定を読み取るためにデスクトッププロパティが必要です。 Linuxのデスクトッププロパティはどうなるか教えてもらえますか?
解決
Javaを使用しているかどうかを使用している場合はLinuxで高いコントラストモードをチェックする良い方法はないと思います(X11自体には高コントラスト機能がなく、Linuxには膨大なUIフレームワークがあり、それぞれが独自の方法で高いコントラストを実装する可能性があります。 )。
厳密に言えば、Windowsでもこれに多くの問題があります(参照してください ここ, 、 また ここ).
ケースを解決するための2つの可能なオプションがあります:UIでシステムの色を使用して使用するだけです SystemColor クラス(それが必要なものである場合)または同じクラスを使用して、現在の前景と背景色のコントラストを分析する(システムの色が高いかどうかを知る必要がある場合)。システムのテーマ名も確認することもできますが、それは非常に信頼性の低い方法です。
所属していません StackOverflow