web-dev-qa-db-fra.com

Comment enregistrer les paramètres utilisateur des préférences en Java?

Par exemple, j'ai une fenêtre avec un bouton de préférence .. Je veux faire en sorte que lorsque l'utilisateur appuie sur le bouton de préférence, vérifie ses options appropriées et appuie sur ok, il enregistre la préférence, puis lorsqu'il est activé Dans la fenêtre principale, il est exécuté en fonction des préférences que l’utilisateur a modifiées dans la fenêtre des préférences.

Merci d'avance.

28
js0823

Vous pouvez utiliser Java.util.prefs package. Un exemple simple:

// 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"

Il existe de nombreux autres exemples sur Java2s.com .

76
Peter Knego

Il existe une API de préférences Java spécialement conçue à cet effet. Il vous permet de stocker les préférences par utilisateur de manière simple sur plusieurs plates-formes, tandis que l'API elle-même s'occupe de l'emplacement et de la manière de stocker les données.

8
casablanca

Outre les préférences, une autre alternative est disponible pour les clients enrichis lancés à l'aide de Java Web Start . Cette alternative est le PersistenceService. Voici une petite démo. de PersistenceService

C'est également un service où le programmeur n'a pas besoin de s'inquiéter des détails de l'endroit où les informations sont stockées.

2
Andrew Thompson
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();
    }
}

Vous pouvez utiliser Java.util.Properties pour enregistrer vos préférences.

0
Rahul