2010-10-25 17 views
28

उदाहरण के लिए, मेरे पास वरीयता बटन वाला एक विंडो है। मैं इसे बनाना चाहता हूं ताकि जब उपयोगकर्ता वरीयता बटन दबाए और उसके उचित विकल्प जांचता है और ठीक दबाता है, तो यह वरीयता को बचाता है, फिर जब उपयोगकर्ता मुख्य विंडो पर चलाता है, तो यह उस वरीयता के अनुसार चलता है जिसे उपयोगकर्ता बदलता है वरीयता खिड़कीमैं जावा में वरीयता उपयोगकर्ता सेटिंग्स कैसे सहेजूं?

अग्रिम धन्यवाद।

+0

आप वेब पेज वरीयता के आधार पर परिवर्तन के व्यवहार मतलब है? डेटाबेस तालिका में वरीयताओं को सहेजें। –

उत्तर

72

आप java.util.prefs पैकेज का उपयोग कर सकते हैं। एक साधारण उदाहरण:

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

कई examples at java2s.com हैं।

+0

धन्यवाद! ~ दूसरों के लिए धन्यवाद, साथ ही मुझे नहीं पता था कि ^^ – js0823

+0

पर क्रेडिट देना कौन सा उदाहरण डिपो लिंक मर चुका है। – harmanjd

+0

मुझे पता है कि यह एक बहुत पुराना जवाब है लेकिन उत्तर पाने की उम्मीद है। मैं पूछना चाहता हूं कि मेरे पास 100+ सेटिंग डेटा है, क्या यह सबसे अच्छा तरीका होगा या फाइल में स्टोर करने जैसा अन्य हो सकता है? – Aman

7

विशेष रूप से इस उद्देश्य के लिए Java Preferences API है। यह आपको प्रति-उपयोगकर्ता वरीयताओं को एक आसान क्रॉस-प्लेटफार्म तरीके से स्टोर करने देता है, जबकि एपीआई स्वयं ही कहां और कैसे डेटा स्टोर करने का ख्याल रखता है।

2

प्राथमिकताओं के अलावा, Java Web Start का उपयोग करके लॉन्च समृद्ध ग्राहकों के लिए एक और विकल्प उपलब्ध है। यह विकल्प PersistenceService है। यहां एक छोटा demo. of the PersistenceService है।

यह एक ऐसी सेवा भी है जहां प्रोग्रामर को जानकारी संग्रहीत करने के विवरण के बारे में चिंता करने की आवश्यकता नहीं है।

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

आप java.util.Properties उपयोग कर सकते हैं अपनी प्राथमिकताएं सहेजने में

+0

मुझे पता है कि यह 2 साल पुराना है, लेकिन हर कोई माइक्रोसॉफ्ट विंडोज कंप्यूटर का उपयोग नहीं करता है, और इसके अलावा, बहुमत में 'सी:' को उनके डिफ़ॉल्ट ड्राइव के रूप में सेट किया गया है, ** कम ** ** 'E:' ड्राइव स्थापित है। – finnrayment

संबंधित मुद्दे