Frage

Ich muss den hohen Kontrastmodus des nativen Betriebssystems lesen und die Einstellungen auf mein Produkt anwenden. Jetzt für Windows habe ich so etwas getan:

 try {
       Toolkit toolkit = Toolkit.getDefaultToolkit();
       boolean highContrast = (Boolean)toolkit.getDesktopProperty("win.highContrast.on" );
 }catch(Exception e) {
 }

Dies funktioniert für Windows einwandfrei, aber ich benötige die Desktop -Eigenschaft, um Linux -Hochkontrasteinstellungen zu lesen. Kann mir bitte jemand sagen, was die Desktop -Eigenschaft für Linux sein würde?

War es hilfreich?

Lösung

Ich denke ).

Streng genommen haben Sie auch in Windows ein paar Probleme damit (siehe hier, oder hier).

Es gibt zwei mögliche Optionen, um den Fall zu lösen: Verwenden Sie einfach die Systemfarben in Ihrer Benutzeroberfläche mithilfe SystemColor Klasse (wenn dies genau das ist, was Sie brauchen) oder verwenden Sie dieselbe Klasse, um einen Kontrast zwischen aktuellen Vordergrund- und Hintergrundfarben zu analysieren (falls Sie wissen müssen, ob Systemfarben hoher Kontrast stehen). Sie können auch den Namen des Systems überprüfen, aber es ist eine recht zuverlässige Methode.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top