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

📄 svgpropertieseditablecombowidget.java

📁 完全基于java开发的svg矢量绘图工具
💻 JAVA
字号:
/* * Created on 19 janv. 2005 *  =============================================                   GNU LESSER GENERAL PUBLIC LICENSE Version 2.1 =============================================GLIPS Graffiti Editor, a SVG EditorCopyright (C) 2004 Jordi SUC, Philippe Gil, SARL ITRISThis library is free software; you can redistribute it and/ormodify it under the terms of the GNU Lesser General PublicLicense as published by the Free Software Foundation; eitherversion 2.1 of the License, or (at your option) any later version.This library is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNULesser General Public License for more details.You should have received a copy of the GNU Lesser General PublicLicense along with this library; if not, write to the Free SoftwareFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USAContact : jordi.suc@itris.fr; philippe.gil@itris.fr ============================================= */package fr.itris.glips.svgeditor.properties;import java.awt.event.*;import java.util.*;import javax.swing.*;import fr.itris.glips.svgeditor.*;import fr.itris.glips.svgeditor.canvas.*;/** * @author Jordi SUC */public class SVGPropertiesEditableComboWidget extends SVGPropertiesWidget{    /**     * the constructor of the class     * @param propertyItem a property item     */	public SVGPropertiesEditableComboWidget(SVGPropertyItem propertyItem) {		super(propertyItem);				buildComponent();	}		/**	 * builds the component that will be displayed	 */	protected void buildComponent(){				final SVGEditor editor=propertyItem.getProperties().getSVGEditor();		final ResourceBundle bundle=SVGEditor.getBundle();		final SVGFrame frame=editor.getFrameManager().getCurrentFrame();				LinkedList itemList=new LinkedList();		SVGPropertiesComboItem item=null, selectedItem=null;		String cur=null, propertyValue=propertyItem.getGeneralPropertyValue();				//builds the array of items for the combo		for(Iterator it=propertyItem.getPropertyValuesMap().keySet().iterator(); it.hasNext();){			try{				cur=(String)it.next();				String value=(String)propertyItem.getPropertyValuesMap().get(cur);				item=new SVGPropertiesComboItem(value, (String)propertyItem.getPropertyValuesLabelMap().get(cur));								//checks if the current possible value is equals to the current value of the property				if(value!=null && propertyValue!=null && value.equals(propertyValue)){				    				    selectedItem=item;				}							}catch (Exception ex){item=null;}						if(item!=null){			    			    itemList.add(item);			}		}					if(selectedItem==null && propertyValue!=null){		    			selectedItem=new SVGPropertiesComboItem(propertyValue, propertyValue);			itemList.addFirst(selectedItem);		}				Object[] items=itemList.toArray();		//the combo box		final JComboBox combo=new JComboBox(items);		combo.setFont(theFont);		combo.setEditable(true);				//sets the selected item		if(selectedItem!=null){		    		    combo.setSelectedItem(selectedItem);		}					final ActionListener comboListener=new ActionListener(){		    			public void actionPerformed(ActionEvent evt) {			    				String value="";								if(combo.getSelectedItem()!=null){				    					try{						value=((SVGPropertiesComboItem)combo.getSelectedItem()).getValue();					}catch (Exception ex){value="";}											if(value==null || (value!=null && value.equals(""))){					    						value=combo.getSelectedItem().toString();					}				}								//modifies the widgetValue of the property item				if(value!=null && !value.equals("")){				    					propertyItem.changePropertyValue(value);				}			}		};					//adds a listener to the combo box		combo.addActionListener(comboListener);				//the panel that will be contained in the widget object		JPanel panel=new JPanel();		panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));		panel.add(combo);				component=panel;					//creates the disposer		disposer=new Runnable(){            public void run() {				combo.removeActionListener(comboListener);            }		};	}}

⌨️ 快捷键说明

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