2010-10-25 13 views
28

Na przykład mam okno z przyciskiem preferencji. Chcę, aby po naciśnięciu przycisku preferencji i sprawdzeniu jego odpowiednich opcji i naciśnięciu ok, zapisuje preferencje, a następnie, gdy użytkownik naciśnie w oknie głównym, działa zgodnie z preferencjami użytkownika okno preferencji.Jak zapisać ustawienia użytkownika preferencji w Javie?

Z góry dziękuję.

+0

Czy chodziło Ci o zachowanie zmian stron internetowych w oparciu o preferencje? Zapisz preferencje w tabeli bazy danych. –

Odpowiedz

72

Możesz użyć pakietu java.util.prefs. Prosty przykład:

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

Istnieje wiele innych examples at java2s.com.

+0

Dziękuję! ~ Dzięki innym również nie wiedziałem, kto dać kredyty do ^^ – js0823

+0

przykładowy link depot jest martwy. – harmanjd

+0

Wiem, że jest to bardzo stara odpowiedź, ale mam nadzieję, że otrzymam odpowiedź. Chcę zapytać, czy mam ponad 100 ustawionych danych, czy to będzie najlepsze podejście, czy może być coś takiego jak przechowywanie w pliku? – Aman

7

Istnieje specjalnie do tego celu Java Preferences API. Umożliwia przechowywanie preferencji dla poszczególnych użytkowników w łatwy, wieloplatformowy sposób, a sam interfejs API zajmuje się miejscem i sposobem przechowywania danych.

2

Oprócz opcji Preferencje dostępna jest kolejna alternatywa dla klientów zaawansowanych, która została uruchomiona przy użyciu usługi Java Web Start. Ta alternatywa to usługa PersistenceService. Oto mały demo. of the PersistenceService.

Jest to również usługa, w której programista nie musi się martwić o szczegóły miejsca przechowywania informacji.

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

Można użyć java.util.Properties aby zapisać swoje preferencje

+0

Wiem, że to jest 2 lata, ale nie wszyscy używają komputera Microsoft Windows, a ponadto, większość z nich ma ustawiony "C:" jako domyślny dysk, z ** jeszcze mniej ** z zainstalowanym dyskiem 'E:'. – finnrayment

Powiązane problemy