JFace preferences and field editors
//-- Main.java --
import java.io.IOException;
import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.jface.preference.ColorFieldEditor;
import org.eclipse.jface.preference.DirectoryFieldEditor;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.jface.preference.FileFieldEditor;
import org.eclipse.jface.preference.FontFieldEditor;
import org.eclipse.jface.preference.PathEditor;
import org.eclipse.jface.preference.PreferenceDialog;
import org.eclipse.jface.preference.PreferenceManager;
import org.eclipse.jface.preference.PreferenceNode;
import org.eclipse.jface.preference.PreferenceStore;
import org.eclipse.jface.preference.RadioGroupFieldEditor;
import org.eclipse.jface.window.Window;
public class Main extends FieldEditorPreferencePage {
@Override
protected void createFieldEditors() {
BooleanFieldEditor bfe = new BooleanFieldEditor("Boolean", "Boolean",
getFieldEditorParent());
addField(bfe);
String[][] labelAndValues = new String[][] {
{ "First Value", "first" }, { "Second Value", "second" } };
RadioGroupFieldEditor rfe = new RadioGroupFieldEditor("RadioGroup",
"Radio Group:", 2, labelAndValues, getFieldEditorParent(), true);
addField(rfe);
ColorFieldEditor cfe = new ColorFieldEditor("Color", "Color:",
getFieldEditorParent());
addField(cfe);
FontFieldEditor fontFe = new FontFieldEditor("Font", "Font:",
getFieldEditorParent());
addField(fontFe);
DirectoryFieldEditor dfe = new DirectoryFieldEditor("Directory",
"Directory:", getFieldEditorParent());
addField(dfe);
FileFieldEditor ffe = new FileFieldEditor("File", "File:",
getFieldEditorParent());
addField(ffe);
PathEditor pe = new PathEditor("Path", "Path:", "Choose a Path",
getFieldEditorParent());
addField(pe);
}
public static void main(String[] args) throws IOException {
PreferenceManager mgr = new PreferenceManager();
PreferenceStore ps = new PreferenceStore("Main.properties");
PreferenceNode one = new PreferenceNode("one", "One", null, Main.class
.getName());
mgr.addToRoot(one);
PreferenceDialog dlg = new PreferenceDialog(null, mgr);
try {
ps.load();
} catch (IOException e) {
}
dlg.setPreferenceStore(ps);
if (dlg.open() == Window.OK) {
ps.save();
}
}
}
沒有留言:
張貼留言