Domanda

devo leggere la modalità ad alto contrasto del sistema operativo nativo e devono applicare le impostazioni sul mio prodotto. Ora per le finestre Ho fatto qualche cosa in questo modo:

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

Questo funziona bene per Windows ma ho bisogno la proprietà del desktop di leggere linux impostazioni ad alto contrasto. Qualcuno può dirmi quale sarebbe la proprietà Desktop per Linux?

È stato utile?

Soluzione

Credo che non v'è alcun buon metodo per controllare la modalità ad alto contrasto in Linux ogni volta che si utilizza Java oppure no (X11 per sé non hanno alcuna funzione ad alto contrasto e Linux hanno una vasta gamma di strutture di interfaccia utente e ognuno di essi può implementare un elevato contrasto in il proprio modo).

A rigor di termini avrete un sacco di problemi con questa operazione in Windows troppo (vedi qui o qui ).

Ci sono due possibili opzioni per risolvere il caso: solo colori di sistema in uso l'interfaccia utente utilizzando SystemColor classe (se questo è proprio quello che serve) o utilizzare la stessa classe per analizzare un contrasto tra sfondo e primo piano attuali colori (se avete bisogno di sapere se i colori di sistema sono alti contrasto). È inoltre possibile controllare il nome del tema di sistema, ma è il metodo del tutto inaffidabile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top