同步操作将从 Stefan/Java8Source 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
/** Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.*********************/package javax.swing;import java.util.Enumeration;import java.util.HashSet;import java.util.Iterator;import java.util.Locale;import java.util.Map.Entry;import java.util.Set;/**** @author Hans Muller*/class MultiUIDefaults extends UIDefaults{private UIDefaults[] tables;public MultiUIDefaults(UIDefaults[] defaults) {super();tables = defaults;}public MultiUIDefaults() {super();tables = new UIDefaults[0];}@Overridepublic Object get(Object key){Object value = super.get(key);if (value != null) {return value;}for (UIDefaults table : tables) {value = (table != null) ? table.get(key) : null;if (value != null) {return value;}}return null;}@Overridepublic Object get(Object key, Locale l){Object value = super.get(key,l);if (value != null) {return value;}for (UIDefaults table : tables) {value = (table != null) ? table.get(key,l) : null;if (value != null) {return value;}}return null;}@Overridepublic int size() {return entrySet().size();}@Overridepublic boolean isEmpty() {return size() == 0;}@Overridepublic Enumeration<Object> keys(){return new MultiUIDefaultsEnumerator(MultiUIDefaultsEnumerator.Type.KEYS, entrySet());}@Overridepublic Enumeration<Object> elements(){return new MultiUIDefaultsEnumerator(MultiUIDefaultsEnumerator.Type.ELEMENTS, entrySet());}@Overridepublic Set<Entry<Object, Object>> entrySet() {Set<Entry<Object, Object>> set = new HashSet<Entry<Object, Object>>();for (int i = tables.length - 1; i >= 0; i--) {if (tables[i] != null) {set.addAll(tables[i].entrySet());}}set.addAll(super.entrySet());return set;}@Overrideprotected void getUIError(String msg) {if (tables.length > 0) {tables[0].getUIError(msg);} else {super.getUIError(msg);}}private static class MultiUIDefaultsEnumerator implements Enumeration<Object>{public static enum Type { KEYS, ELEMENTS };private Iterator<Entry<Object, Object>> iterator;private Type type;MultiUIDefaultsEnumerator(Type type, Set<Entry<Object, Object>> entries) {this.type = type;this.iterator = entries.iterator();}public boolean hasMoreElements() {return iterator.hasNext();}public Object nextElement() {switch (type) {case KEYS: return iterator.next().getKey();case ELEMENTS: return iterator.next().getValue();default: return null;}}}@Overridepublic Object remove(Object key){Object value = null;for (int i = tables.length - 1; i >= 0; i--) {if (tables[i] != null) {Object v = tables[i].remove(key);if (v != null) {value = v;}}}Object v = super.remove(key);if (v != null) {value = v;}return value;}@Overridepublic void clear() {super.clear();for (UIDefaults table : tables) {if (table != null) {table.clear();}}}@Overridepublic synchronized String toString() {StringBuffer buf = new StringBuffer();buf.append("{");Enumeration keys = keys();while (keys.hasMoreElements()) {Object key = keys.nextElement();buf.append(key + "=" + get(key) + ", ");}int length = buf.length();if (length > 1) {buf.delete(length-2, length);}buf.append("}");return buf.toString();}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。