2010-10-25 25 views
28

Por ejemplo, tengo una ventana con un botón de preferencia. Quiero hacerlo de modo que cuando el usuario presione el botón de preferencia y compruebe sus opciones apropiadas y presione ok, guarde la preferencia, luego cuando el usuario presione ejecutar en la ventana principal, se ejecute según la preferencia que el usuario modificó en el ventana de preferencia¿Cómo guardo la configuración de usuario de preferencias en Java?

Gracias de antemano.

+0

¿Quiere decir que el comportamiento de los cambios de la página web en base a la preferencia? Guarde las preferencias en una tabla de base de datos. –

Respuesta

72

Puede usar el paquete java.util.prefs. Un simple ejemplo:

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

Hay muchos más examples at java2s.com.

+0

¡Gracias! ~ Gracias a otros también, no sabía a quién dar créditos para ^^ – js0823

+0

ejemplo, el vínculo de depósito está muerto. – harmanjd

+0

Sé que esta es una respuesta muy antigua pero espero obtener una respuesta. Quiero preguntar si tengo más de 100 datos de configuración, ¿será este el mejor enfoque o podría haber otro como almacenar en el archivo? – Aman

7

Hay un Java Preferences API específicamente para este propósito. Le permite almacenar preferencias por usuario de una manera sencilla y multiplataforma, mientras que la API se ocupa de dónde y cómo almacenar los datos.

2

Además de las Preferencias, hay otra alternativa disponible para los clientes ricos lanzada usando Java Web Start. Esta alternativa es PersistenceService. Aquí hay un pequeño demo. of the PersistenceService.

También es un servicio donde el programador no tiene que preocuparse por los detalles de dónde se almacena la información.

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

Es posible utilizar java.util.Properties para guardar sus preferencias

+0

Sé que esto tiene 2 años, pero no todo el mundo usa una computadora con Microsoft Windows, y además, la mayoría tiene 'C:' establecido como su unidad predeterminada, ** ** menos ** con una unidad 'E:' instalada. – finnrayment

Cuestiones relacionadas