Come faccio a salvare le impostazioni utente di preferenza in Java?
Domanda
Per esempio, ho una finestra con un pulsante di preferenza. Voglio fare in modo che quando l'utente preme il pulsante di preferenza e controlla il suo / suoi opzioni appropriate e premere ok, salva la preferenza, poi, quando l'utente preme eseguiti nella finestra principale, si corre di conseguenza alle preferenze dell'utente cambiato dalla preferenza finestra.
Grazie in anticipo.
Soluzione
È possibile utilizzare java.util pacchetto .prefs . Un semplice esempio:
// Retrieve the user preference node for the package com.mycompany
Preferences prefs = Preferences.userNodeForPackage(com.mycompany.MyClass.class);
// Preference key name
final String PREF_NAME = "name_of_preference";
// Set the value of the preference
String newValue = "a string";
prefs.put(PREF_NAME, newValue);
// Get the value of the preference;
// default value is returned if the preference does not exist
String defaultValue = "default string";
String propertyValue = prefs.get(PREF_NAME, defaultValue); // "a string"
Ci sono molti altri esempi a java2s.com .
Altri suggerimenti
C'è un Java Preferenze API appositamente per questo scopo. Esso consente di memorizzare le preferenze per utente in un facile modo cross-platform, mentre l'API si prende cura di dove e come memorizzare i dati.
Oltre preferenze, c'è un'altra alternativa disponibile per i clienti ricchi lanciati utilizzando Java Web Start . Questa alternativa è il PersistenceService. Ecco un piccolo demo. del PersistenceService .
E 'anche un servizio in cui il programmatore non ha bisogno di preoccuparsi per i dettagli di cui sono memorizzate le informazioni.
public void saveProperties() {
try {
String USER_NAME = "Some name";
String DP_ADDRESS = "Some url";
//create a properties file
Properties props = new Properties();
props.setProperty("User name", USER_NAME);
props.setProperty("Display picture address", DP_ADDRESS);
File f = new File("YOUR_TARGET_FILE_PATH");
OutputStream out = new FileOutputStream( f );
//If you wish to make some comments
props.store(out, "User properties");
}
catch (Exception e ) {
e.printStackTrace();
}
}
È possibile utilizzare java.util.Properties
per salvare le preferenze