如何在Java中保存首选项用户设置?

时间:2010-10-25 17:20:26

标签: java swing jframe jbutton

例如,我有一个带偏好按钮的窗口。 我希望这样做,以便当用户按下首选项按钮并检查他/她的相应选项并按确定时,它会保存首选项,然后当用户按下主窗口上的运行时,它会根据首选项的优先级运行窗口。

提前谢谢。

4 个答案:

答案 0 :(得分:80)

您可以使用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

答案 1 :(得分:8)

有一个Java Preferences API专门用于此目的。它允许您以简单的跨平台方式存储每个用户的首选项,而API本身则负责存储数据的位置和方式。

答案 2 :(得分:2)

除了首选项之外,还有另一种可供使用Java Web Start启动的富客户端的替代方法。另一种选择是PersistenceService。这是一个小demo. of the PersistenceService

这也是一项服务,程序员无需担心信息存储位置的细节。

答案 3 :(得分: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保存您的偏好