2010-10-25 11 views
28

Ad esempio, ho una finestra con un pulsante di preferenza. Voglio fare in modo che quando l'utente preme il pulsante di preferenza e controlli le opzioni appropriate e prema ok, salva la preferenza, quindi quando l'utente preme sulla finestra principale, viene eseguito in base alle preferenze che l'utente ha modificato sul finestra delle preferenze.Come si salvano le impostazioni dell'utente delle preferenze in Java?

Grazie in anticipo.

+0

Vuoi dire il comportamento dei cambiamenti pagina web basati su preferenze? Salva le preferenze in una tabella di database. –

risposta

72

È possibile utilizzare il pacchetto java.util.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 examples at java2s.com.

+0

Grazie! ~ Grazie anche agli altri non sapevo a chi dare crediti per ^^ – js0823

+0

esempio di collegamento del depot è morto. – harmanjd

+0

So che questa è una risposta molto vecchia, ma spero di ottenere una risposta. Voglio chiedere se ho più di 100 dati di impostazione, questo sarà l'approccio migliore o potrebbe esserci un altro tipo di archiviazione nel file? – Aman

7

C'è uno Java Preferences API appositamente per questo scopo. Ti consente di memorizzare le preferenze per utente in modo semplice e multipiattaforma, mentre l'API stessa si occupa di dove e come memorizzare i dati.

2

Oltre alle preferenze, è disponibile un'altra alternativa per i rich client avviata utilizzando Java Web Start. Questa alternativa è PersistenceService. Ecco un piccolo demo. of the PersistenceService.

È anche un servizio in cui il programmatore non deve preoccuparsi dei dettagli su dove sono archiviate le informazioni.

0
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

+0

So che questo ha 2 anni, ma non tutti usano un computer Microsoft Windows, inoltre, la maggior parte ha 'C:' impostato come unità predefinita, con ** ancora meno ** con un'unità 'E:' installata. – finnrayment

Problemi correlati