⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 optionsdialog.java

📁 开源的java 编辑器源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		if(dividerLocation != -1)			splitter.setDividerLocation(dividerLocation);		// in case saved geometry is too small		updateSize();		show();	} //}}}	//{{{ selectPane() method	private boolean selectPane(OptionGroup node, String name)	{		return selectPane(node,name,new ArrayList());	} //}}}	//{{{ selectPane() method	private boolean selectPane(OptionGroup node, String name, ArrayList path)	{		path.add(node);		Enumeration e = node.getMembers();		while(e.hasMoreElements())		{			Object obj = e.nextElement();			if(obj instanceof OptionGroup)			{				OptionGroup grp = (OptionGroup)obj;				if(grp.getName().equals(name))				{					path.add(grp);					path.add(grp.getMember(0));					TreePath treePath = new TreePath(						path.toArray());					paneTree.scrollPathToVisible(treePath);					paneTree.setSelectionPath(treePath);					return true;				}				else if(selectPane((OptionGroup)obj,name,path))					return true;			}			else if(obj instanceof OptionPane)			{				OptionPane pane = (OptionPane)obj;				if(pane.getName().equals(name)					|| name == null)				{					path.add(pane);					TreePath treePath = new TreePath(						path.toArray());					paneTree.scrollPathToVisible(treePath);					paneTree.setSelectionPath(treePath);					return true;				}			}			else if(obj instanceof String)			{				String pane = (String)obj;				if(pane.equals(name)					|| name == null)				{					path.add(pane);					TreePath treePath = new TreePath(						path.toArray());					paneTree.scrollPathToVisible(treePath);					paneTree.setSelectionPath(treePath);					return true;				}			}		}		path.remove(node);		return false;	} //}}}	//{{{ save() method	private void save(Object obj)	{		if(obj instanceof OptionGroup)		{			OptionGroup grp = (OptionGroup)obj;			Enumeration members = grp.getMembers();			while(members.hasMoreElements())			{				save(members.nextElement());			}		}		else if(obj instanceof OptionPane)		{			try			{				((OptionPane)obj).save();			}			catch(Throwable t)			{				Log.log(Log.ERROR,this,"Error saving options:");				Log.log(Log.ERROR,this,t);			}		}		else if(obj instanceof String)		{			save(deferredOptionPanes.get(obj));		}	} //}}}	//{{{ updateSize() method	private void updateSize()	{		Dimension currentSize = getSize();		Dimension requestedSize = getPreferredSize();		Dimension newSize = new Dimension(			Math.max(currentSize.width,requestedSize.width),			Math.max(currentSize.height,requestedSize.height)		);		if(newSize.width < 300)			newSize.width = 300;		if(newSize.height < 200)			newSize.height = 200;		setSize(newSize);		validate();	} //}}}	//}}}	//{{{ PaneNameRenderer class	class PaneNameRenderer extends DefaultTreeCellRenderer	{		public PaneNameRenderer()		{			paneFont = UIManager.getFont("Tree.font");			if(paneFont == null)				paneFont = jEdit.getFontProperty("metal.secondary.font");			groupFont = paneFont.deriveFont(Font.BOLD);		}		public Component getTreeCellRendererComponent(JTree tree,			Object value, boolean selected, boolean expanded,			boolean leaf, int row, boolean hasFocus)		{			super.getTreeCellRendererComponent(tree,value,				selected,expanded,leaf,row,hasFocus);			String name = null;			if (value instanceof OptionGroup)			{				setText(((OptionGroup)value).getLabel());				this.setFont(groupFont);			}			else if (value instanceof OptionPane)			{				name = ((OptionPane)value).getName();				this.setFont(paneFont);			}			else if (value instanceof String)			{				name = ((String)value);				this.setFont(paneFont);			}			if (name != null)			{				String label = jEdit.getProperty("options." +					name + ".label");				if (label == null)				{					setText("NO LABEL PROPERTY: " + name);				}				else				{					setText(label);				}			}			setIcon(null);			return this;		}		private Font paneFont;		private Font groupFont;	} //}}}	//{{{ OptionTreeModel class	public class OptionTreeModel implements TreeModel	{		public void addTreeModelListener(TreeModelListener l)		{			listenerList.add(TreeModelListener.class, l);		}		public void removeTreeModelListener(TreeModelListener l)		{			listenerList.remove(TreeModelListener.class, l);		}		public Object getChild(Object parent, int index)		{			if (parent instanceof OptionGroup)			{				return ((OptionGroup)parent).getMember(index);			}			else			{				return null;			}		}		public int getChildCount(Object parent)		{			if (parent instanceof OptionGroup)			{				return ((OptionGroup)parent).getMemberCount();			}			else			{				return 0;			}		}		public int getIndexOfChild(Object parent, Object child)		{			if (parent instanceof OptionGroup)			{				return ((OptionGroup)parent)					.getMemberIndex(child);			}			else			{				return -1;			}		}		public Object getRoot()		{			return root;		}		public boolean isLeaf(Object node)		{			return !(node instanceof OptionGroup);		}		public void valueForPathChanged(TreePath path, Object newValue)		{			// this model may not be changed by the TableCellEditor		}		protected void fireNodesChanged(Object source, Object[] path,			int[] childIndices, Object[] children)		{			Object[] listeners = listenerList.getListenerList();			TreeModelEvent modelEvent = null;			for (int i = listeners.length - 2; i >= 0; i -= 2)			{				if (listeners[i] != TreeModelListener.class)					continue;				if (modelEvent == null)				{					modelEvent = new TreeModelEvent(source,						path, childIndices, children);				}				((TreeModelListener)listeners[i + 1])					.treeNodesChanged(modelEvent);			}		}		protected void fireNodesInserted(Object source, Object[] path,			int[] childIndices, Object[] children)		{			Object[] listeners = listenerList.getListenerList();			TreeModelEvent modelEvent = null;			for (int i = listeners.length - 2; i >= 0; i -= 2)			{				if (listeners[i] != TreeModelListener.class)					continue;				if (modelEvent == null)				{					modelEvent = new TreeModelEvent(source,						path, childIndices, children);				}				((TreeModelListener)listeners[i + 1])					.treeNodesInserted(modelEvent);			}		}		protected void fireNodesRemoved(Object source, Object[] path,			int[] childIndices, Object[] children)		{			Object[] listeners = listenerList.getListenerList();			TreeModelEvent modelEvent = null;			for (int i = listeners.length - 2; i >= 0; i -= 2)			{				if (listeners[i] != TreeModelListener.class)					continue;				if (modelEvent == null)				{					modelEvent = new TreeModelEvent(source,						path, childIndices, children);				}				((TreeModelListener)listeners[i + 1])					.treeNodesRemoved(modelEvent);			}		}		protected void fireTreeStructureChanged(Object source,			Object[] path, int[] childIndices, Object[] children)		{			Object[] listeners = listenerList.getListenerList();			TreeModelEvent modelEvent = null;			for (int i = listeners.length - 2; i >= 0; i -= 2)			{				if (listeners[i] != TreeModelListener.class)					continue;				if (modelEvent == null)				{					modelEvent = new TreeModelEvent(source,						path, childIndices, children);				}				((TreeModelListener)listeners[i + 1])					.treeStructureChanged(modelEvent);			}		}		private OptionGroup root = new OptionGroup(null);		private EventListenerList listenerList = new EventListenerList();	} //}}}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -