下面列出了怎么用java.util.prefs.PreferenceChangeEvent的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public final void preferenceChange(final PreferenceChangeEvent event) {
LOGGER.finer("PreferenceChange");
final Map<String, Consumer<PreferenceChangeEvent>> preferenceMonitorsCopy;
synchronized (preferenceMonitors) {
preferenceMonitorsCopy = new HashMap<>(preferenceMonitors);
}
preferenceMonitorsCopy.forEach((preference, handler) -> {
if (event.getKey().equals(preference)) {
LOGGER.log(Level.FINER, "ManualUpdate::UpdatePreferences::{0}", preference);
if (handler != null) {
handler.accept(event);
}
}
});
handlePreferenceChange(event);
}
@Override
public void preferenceChange(PreferenceChangeEvent evt) {
if (evt.getKey().startsWith(HgModuleConfig.PROP_COMMIT_EXCLUSIONS)) {
Runnable inAWT = new Runnable() {
@Override
public void run() {
commitTable.dataChanged();
listenerSupport.fireVersioningEvent(EVENT_SETTINGS_CHANGED);
}
};
// this can be called from a background thread - e.g. change of exclusion status in Versioning view
if (EventQueue.isDispatchThread()) {
inAWT.run();
} else {
EventQueue.invokeLater(inAWT);
}
}
}
private M2RepositoryBrowser() {
super(Children.create(new RootNodes(), true));
setName(NAME);
setDisplayName(CTL_M2RepositoryBrowserTopComponent2(RepositoryPreferences.isIndexRepositories() ? "" : CTL_M2RepositoriesDisabled()));
setShortDescription(HINT_M2RepositoryBrowserTopComponent());
setIconBaseWithExtension(ICON_PATH);
NbPreferences.root().node("org/netbeans/modules/maven/nexus/indexing").addPreferenceChangeListener(new PreferenceChangeListener() {
@Override
public void preferenceChange(PreferenceChangeEvent evt) {
if (RepositoryPreferences.PROP_INDEX.equals(evt.getKey())) {
setDisplayName(CTL_M2RepositoryBrowserTopComponent2(RepositoryPreferences.isIndexRepositories() ? "" : CTL_M2RepositoriesDisabled()));
}
}
});
}
@Override
public void preferenceChange(PreferenceChangeEvent event) {
Preferences prefs = event.getNode();
String prop = event.getKey();
if (prop.startsWith(BASE_PROPERTY)) {
String rest = prop.substring(BASE_PROPERTY.length());
int index = -1;
try {
index = Integer.parseInt(rest);
if (index < 0 || index >= NUM_RECENT)
index = -1;
} catch (NumberFormatException e) {
}
if (index >= 0) {
File oldValue = recentFiles[index];
long oldTime = recentTimes[index];
getAndDecode(prefs, index);
File newValue = recentFiles[index];
long newTime = recentTimes[index];
if (!isSame(oldValue, newValue) || oldTime != newTime) {
AppPreferences.firePropertyChange(AppPreferences.RECENT_PROJECTS, new FileTime(oldValue, oldTime),
new FileTime(newValue, newTime));
}
}
}
}
@Override
public void preferenceChange(PreferenceChangeEvent evt) {
String settingName = evt == null ? null : evt.getKey();
if (settingName == null || COMPLETION_CASE_SENSITIVE.equals(settingName)) {
caseSensitive = preferences.getBoolean(COMPLETION_CASE_SENSITIVE, COMPLETION_CASE_SENSITIVE_DEFAULT);
}
if (settingName == null || SHOW_DEPRECATED_MEMBERS.equals(settingName)) {
showDeprecatedMembers = preferences.getBoolean(SHOW_DEPRECATED_MEMBERS, SHOW_DEPRECATED_MEMBERS_DEFAULT);
}
if (settingName == null || JAVA_COMPLETION_BLACKLIST.equals(settingName)) {
String blacklist = preferences.get(JAVA_COMPLETION_BLACKLIST, EMPTY);
updateExcluder(excludeRef, blacklist);
}
if (settingName == null || JAVA_COMPLETION_WHITELIST.equals(settingName)) {
String whitelist = preferences.get(JAVA_COMPLETION_WHITELIST, EMPTY);
updateExcluder(includeRef, whitelist);
}
if (settingName == null || JAVA_COMPLETION_EXCLUDER_METHODS.equals(settingName)) {
javaCompletionExcluderMethods = preferences.getBoolean(JAVA_COMPLETION_EXCLUDER_METHODS, JAVA_COMPLETION_EXCLUDER_METHODS_DEFAULT);
}
if (settingName == null || JAVA_COMPLETION_SUBWORDS.equals(settingName)) {
javaCompletionSubwords = preferences.getBoolean(JAVA_COMPLETION_SUBWORDS, JAVA_COMPLETION_SUBWORDS_DEFAULT);
}
}
@Override
public void preferenceChange(PreferenceChangeEvent evt) {
String settingName = evt == null ? null : evt.getKey();
if (settingName == null || CodeCompletionPanel.GUESS_METHOD_ARGUMENTS.equals(settingName)) {
guessMethodArguments = preferences.getBoolean(CodeCompletionPanel.GUESS_METHOD_ARGUMENTS, CodeCompletionPanel.GUESS_METHOD_ARGUMENTS_DEFAULT);
}
if (settingName == null || CodeCompletionPanel.JAVA_AUTO_POPUP_ON_IDENTIFIER_PART.equals(settingName)) {
autoPopupOnJavaIdentifierPart = preferences.getBoolean(CodeCompletionPanel.JAVA_AUTO_POPUP_ON_IDENTIFIER_PART, CodeCompletionPanel.JAVA_AUTO_POPUP_ON_IDENTIFIER_PART_DEFAULT);
}
if (settingName == null || CodeCompletionPanel.JAVA_AUTO_COMPLETION_TRIGGERS.equals(settingName)) {
javaCompletionAutoPopupTriggers = preferences.get(CodeCompletionPanel.JAVA_AUTO_COMPLETION_TRIGGERS, CodeCompletionPanel.JAVA_AUTO_COMPLETION_TRIGGERS_DEFAULT);
}
if (settingName == null || CodeCompletionPanel.JAVA_COMPLETION_SELECTORS.equals(settingName)) {
javaCompletionSelectors = preferences.get(CodeCompletionPanel.JAVA_COMPLETION_SELECTORS, CodeCompletionPanel.JAVA_COMPLETION_SELECTORS_DEFAULT);
}
if (settingName == null || CodeCompletionPanel.JAVADOC_AUTO_COMPLETION_TRIGGERS.equals(settingName)) {
javadocCompletionAutoPopupTriggers = preferences.get(CodeCompletionPanel.JAVADOC_AUTO_COMPLETION_TRIGGERS, CodeCompletionPanel.JAVADOC_AUTO_COMPLETION_TRIGGERS_DEFAULT);
}
if (settingName == null || CodeCompletionPanel.JAVADOC_COMPLETION_SELECTORS.equals(settingName)) {
javadocCompletionSelectors = preferences.get(CodeCompletionPanel.JAVADOC_COMPLETION_SELECTORS, CodeCompletionPanel.JAVADOC_COMPLETION_SELECTORS_DEFAULT);
}
}
@Override
public void preferenceChange(PreferenceChangeEvent evt) {
if (evt.getKey().startsWith(PROP_COMMIT_EXCLUSIONS)) { // XXX - need setting
Runnable inAWT = new Runnable() {
@Override
public void run() {
commitTable.dataChanged();
listenerSupport.fireVersioningEvent(EVENT_SETTINGS_CHANGED);
}
};
// this can be called from a background thread - e.g. change of exclusion status in Versioning view
if (EventQueue.isDispatchThread()) {
inAWT.run();
} else {
EventQueue.invokeLater(inAWT);
}
}
}
@Override
public void preferenceChange(PreferenceChangeEvent event) {
Preferences prefs = event.getNode();
String prop = event.getKey();
String name = getIdentifier();
if (prop.equals(name)) {
String oldValue = value;
String newValue = prefs.get(name, dflt);
if (!isSame(oldValue, newValue)) {
String[] o = opts;
String chosen = null;
for (int i = 0; i < o.length; i++) {
if (isSame(o[i], newValue)) {
chosen = o[i];
break;
}
}
if (chosen == null)
chosen = dflt;
value = chosen;
AppPreferences.firePropertyChange(name, oldValue, chosen);
}
}
}
@Override
public void preferenceChange(PreferenceChangeEvent evt) {
if (!KarmaPreferences.isDebug(project)) {
// possibly close browser tab
KarmaServers.getInstance().closeDebugUrl(project);
}
// possibly restart server
if (KarmaServers.getInstance().isServerRunning(project)) {
KarmaServers.getInstance().stopServer(project, false);
if (KarmaPreferences.isEnabled(project)) {
ValidationResult result = new KarmaPreferencesValidator()
.validate(project)
.getResult();
if (result.isFaultless()) {
KarmaServers.getInstance().startServer(project);
}
}
}
changeSupport.fireChange();
}
public void preferenceChange(final PreferenceChangeEvent evt) {
synchronized(listenerMap) {
Set<ComparableWeakReference<PreferenceChangeListener>> set = listenerMap.get(evt.getKey());
if (set != null) {
final Set<PreferenceChangeListener> tmpListeners = new HashSet<PreferenceChangeListener>();
Collection<ComparableWeakReference<PreferenceChangeListener>> deadRefs = new ArrayList<ComparableWeakReference<PreferenceChangeListener>>();
for(ComparableWeakReference<PreferenceChangeListener> pclRef : set) {
if (pclRef.get() != null) {
tmpListeners.add(pclRef.get());
} else {
deadRefs.add(pclRef);
}
}
set.removeAll(deadRefs);
dispatcher.submit(new Runnable() {
public void run() {
for(PreferenceChangeListener pcl : tmpListeners) {
pcl.preferenceChange(evt);
}
}
});
}
}
}
private String updateCheckers(PreferenceChangeEvent evt) {
String pk = evt.getKey();
if (pk != null) {
if (pk.equals(SimpleValueNames.CODE_FOLDING_ENABLE)) {
updateEnabledState();
return pk;
}
if (pk.equals(PREF_OVERRIDE_DEFAULTS)) {
updateOverrideChanged();
} else if (!pk.startsWith(COLLAPSE_PREFIX)) {
return pk;
}
} else {
updateEnabledState();
}
String c = pk == null ? null : pk.substring(COLLAPSE_PREFIX.length());
for (JCheckBox cb : controls) {
FoldType ft = (FoldType)cb.getClientProperty("type"); // NOI18N
FoldType ftp = ft.parent();
if (c == null || ft.code().equals(c) || (ftp != null && ftp.code().equals(c))) {
updateChecker(pk, cb, ft);
return pk;
}
}
return pk;
}
/**
* Constructs a new pixel info view.
*/
public PixelInfoView() {
super(new BorderLayout());
displayFilterListener = createDisplayFilterListener();
productNodeListener = createProductNodeListener();
positionTableModel = new PixelInfoViewTableModel(new String[]{"Position", "Value", "Unit"});
timeTableModel = new PixelInfoViewTableModel(new String[]{"Time", "Value", "Unit"});
bandsTableModel = new PixelInfoViewTableModel(new String[]{"Band", "Value", "Unit"});
tiePointGridsTableModel = new PixelInfoViewTableModel(new String[]{"Tie-Point Grid", "Value", "Unit"});
flagsTableModel = new PixelInfoViewTableModel(new String[]{"Flag", "Value",});
modelUpdater = new PixelInfoViewModelUpdater(this, positionTableModel,
timeTableModel,
bandsTableModel,
tiePointGridsTableModel,
flagsTableModel
);
updateService = new PixelInfoUpdateService(modelUpdater);
setDisplayFilter(new DisplayFilter());
final Preferences preferences = SnapApp.getDefault().getPreferences();
preferences.addPreferenceChangeListener(new PreferenceChangeListener() {
@Override
public void preferenceChange(PreferenceChangeEvent evt) {
final String propertyName = evt.getKey();
if (PREFERENCE_KEY_SHOW_ONLY_DISPLAYED_BAND_PIXEL_VALUES.equals(propertyName)) {
setShowOnlyLoadedBands(preferences);
} else if (PREFERENCE_KEY_SHOW_PIXEL_POS_DECIMALS.equals(propertyName)) {
setShowPixelPosDecimals(preferences);
} else if (PREFERENCE_KEY_SHOW_GEO_POS_DECIMALS.equals(propertyName)) {
setShowGeoPosDecimals(preferences);
} else if (PREFERENCE_KEY_SHOW_PIXEL_POS_OFFSET_ONE.equals(propertyName)) {
setShowPixelPosOffset1(preferences);
}
}
});
setShowOnlyLoadedBands(preferences);
setShowPixelPosDecimals(preferences);
setShowGeoPosDecimals(preferences);
setShowPixelPosOffset1(preferences);
createUI();
}
public @Override void preferenceChange(PreferenceChangeEvent evt) {
if (evt.getKey() == null || PROP_USED_PROFILE.equals(evt.getKey())) {
synchronized (Csp.this) {
useProject = PROJECT_PROFILE.equals(evt.getNewValue());
LOG.fine("file '" + filePath + "' (" + mimeType + ") is using " + (useProject ? "project" : "global") + " Preferences"); //NOI18N
}
}
}
@Override
public void preferenceChange(PreferenceChangeEvent e) {
int curPort = Integer.parseInt(Settings.get().get(binary ? Settings.PORT_BINARY : Settings.PORT, binary ? Settings.PORT_BINARY_DEFAULT : Settings.PORT_DEFAULT));
if (curPort != port) {
initializeNetwork();
}
}
@Override
public void preferenceChange(final PreferenceChangeEvent event) {
if (event.getKey().equals(ProxyPreferenceKeys.USE_DEFAULTS)
|| event.getKey().equals(ProxyPreferenceKeys.DEFAULT)
|| event.getKey().equals(ProxyPreferenceKeys.ADDITIONAL)
|| event.getKey().equals(ProxyPreferenceKeys.BYPASS)) {
setProxySelector(new ConstellationHttpProxySelector());
}
}
public void preferenceChange(PreferenceChangeEvent e) {
int curPort = Integer.parseInt(Settings.get().get(Settings.PORT, Settings.PORT_DEFAULT));
if (curPort != port) {
initializeNetwork();
}
}
public void preferenceChange(PreferenceChangeEvent e) {
int curPort = Integer.parseInt(Settings.get().get(Settings.PORT, Settings.PORT_DEFAULT));
if (curPort != port) {
initializeNetwork();
}
}
@Override
public void preferenceChange(PreferenceChangeEvent event) {
//TODO: need to reposition images
if (event.getKey().equals("TAB_WIDTH")) {
tabStr = nSpaces(Integer.parseInt(event.getNewValue()));
}
}
@Override
public void preferenceChange(PreferenceChangeEvent evt) {
String settingName = evt == null ? null : evt.getKey();
if (settingName == null || settingName.equals(CompositeFCS.TEXT_ANTIALIASING_PROP)) { //NOI18N
synchronized (this) {
updateContents(false, true);
}
}
}
@Override
public void preferenceChange(PreferenceChangeEvent evt) {
String key = evt.getKey();
if (VariablesViewButtons.SHOW_VALUE_PROPERTY_EDITORS.equals(key)) {
refresh();
}
}
public void preferenceChange(PreferenceChangeEvent evt) {
if (KEY_DEPENDENCY_TRACKING.equals(evt.getKey())) {
final DependencyTracking dt = getDependencyTracking();
if (curr != dt) {
if (dt.ordinal() > curr.ordinal()) {
IndexingManager.getDefault().refreshAllIndices(JavaIndex.NAME);
}
curr = dt;
}
}
}
public static void addBreadCrumbsEnabledListener(@NonNull final ChangeListener l) {
Preferences prefs = MimeLookup.getLookup(MimePath.EMPTY).lookup(Preferences.class);
prefs.addPreferenceChangeListener(new PreferenceChangeListener() {
@Override public void preferenceChange(PreferenceChangeEvent evt) {
if (evt == null || SideBarFactoryImpl.KEY_BREADCRUMBS.equals(evt.getKey())) {
l.stateChanged(new ChangeEvent(evt));
}
}
});
}
@Override
public void preferenceChange(PreferenceChangeEvent evt) {
if (MavenSettings.PROP_PROJECTNODE_NAME_PATTERN.equals(evt.getKey())) {
pcs.firePropertyChange(ProjectInformation.PROP_NAME, null, null);
pcs.firePropertyChange(ProjectInformation.PROP_DISPLAY_NAME, null, null);
}
}
@Override
public void preferenceChange(PreferenceChangeEvent event) {
Preferences prefs = event.getNode();
String prop = event.getKey();
String name = getIdentifier();
if (prop.equals(name)) {
String oldValue = value;
String newValue = prefs.get(name, dflt);
if (!isSame(oldValue, newValue)) {
value = newValue;
AppPreferences.firePropertyChange(name, oldValue, newValue);
}
}
}
@Override
public void preferenceChange(PreferenceChangeEvent evt) {
String key = evt.getKey();
if (VariablesViewButtons.SHOW_WATCHES.equals(key) ||
VariablesViewButtons.SHOW_EVALUTOR_RESULT.equals(key)) {
updateModel();
}
if (VIEW_TYPE.equals(key)) {
updateModel();
}
}
public void preferenceChange(PreferenceChangeEvent evt) {
if(evt.getKey().equals(AstrosoftPref.Preference.Ayanamsa.name())){
setAyanamsa(Enum.valueOf(Ayanamsa.class, evt.getNewValue()));
}else if (evt.getKey().equals(AstrosoftPref.Preference.EphCalcTime.name())){
calcEphemeris();
}else if (evt.getKey().equals(AstrosoftPref.Preference.Place.name())){
calcEphemeris();
}
}
@Override
public void preferenceChange(PreferenceChangeEvent evt) {
String key = evt.getKey();
if (GroupByNodeTypeAction.PREFERENCE_KEY.equals(key)) {
group.refresh();
}
}
public void testAddPreferenceChangeListener() throws BackingStoreException, InterruptedException {
final Preferences pref = getPreferencesNode();
PreferenceChangeListener l = new PreferenceChangeListener() {
public void preferenceChange(PreferenceChangeEvent evt) {
synchronized (TestPreferences.class) {
//assertionerrors cause deadlock here
assertSame(pref, evt.getNode());
assertEquals("key", evt.getKey());
assertEquals(evt.getNewValue(),pref.get(evt.getKey(),null), evt.getNewValue());
TestPreferences.class.notifyAll();
}
}
};
pref.addPreferenceChangeListener(l);
try {
synchronized (TestPreferences.class) {
pref.put("key","AddPreferenceChangeListener");
pref.flush();
TestPreferences.class.wait();
}
synchronized (TestPreferences.class) {
pref.remove("key");
pref.flush();
TestPreferences.class.wait();
}
synchronized (TestPreferences.class) {
pref.put("key","AddPreferenceChangeListener2");
pref.flush();
TestPreferences.class.wait();
}
} finally {
pref.removePreferenceChangeListener(l);
}
}
public void preferenceChange(PreferenceChangeEvent evt) {
String key = evt == null ? null : evt.getKey();
if (key == null || SimpleValueNames.CODE_FOLDING_ENABLE.equals(key)) {
updateColors();
boolean newEnabled = prefs.getBoolean(SimpleValueNames.CODE_FOLDING_ENABLE, EditorPreferencesDefaults.defaultCodeFoldingEnable);
if (enabled != newEnabled) {
enabled = newEnabled;
updatePreferredSize();
}
}
SettingsConversions.callSettingsChange(CodeFoldingSideBar.this);
}
public void preferenceChange(PreferenceChangeEvent evt) {
synchronized (lock) {
if (local != null && local.containsKey(evt.getKey())) {
// ignore
return;
}
}
firePreferenceChange(evt.getKey(), evt.getNewValue());
}