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

📄 jcpfilefilter.java

📁 化学图形处理软件
💻 JAVA
字号:
/* *  $RCSfile$ *  $Author: egonw $ *  $Date: 2007-04-16 10:40:19 +0200 (Mon, 16 Apr 2007) $ *  $Revision: 8201 $ * *  Copyright (C) 1997-2007  The JChemPaint project * *  Contact: jchempaint-devel@lists.sourceforge.net * *  This program is free software; you can redistribute it and/or *  modify it under the terms of the GNU Lesser General Public License *  as published by the Free Software Foundation; either version 2.1 *  of the License, or (at your option) any later version. *  All we ask is that proper credit is given for our work, which includes *  - but is not limited to - adding the above copyright notice to the beginning *  of your source code files, and to any copyright notice that you may distribute *  with programs based on this work. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU Lesser General Public License for more details. * *  You should have received a copy of the GNU Lesser General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */package org.openscience.cdk.applications.jchempaint.io;import java.io.File;import java.util.ArrayList;import java.util.List;import javax.swing.JFileChooser;/** * A file filter for JCP * * @cdk.module jchempaint *@author     steinbeck */public class JCPFileFilter extends javax.swing.filechooser.FileFilter implements IJCPFileFilter{	/**	 *  Description of the Field	 */	public final static String rxn = "rxn";	/**	 *  Description of the Field	 */	public final static String rdf = "rdf";	/**	 *  Description of the Field	 */	public final static String sdf = "sdf";	/**	 *  Description of the Field	 */	public final static String mol = "mol";	/**	 *  Description of the Field	 */	public final static String cml = "cml";	/**	 *  Description of the Field	 */	public final static String xml = "xml";	/**	 *  Description of the Field	 */	public final static String inchi = "txt";	/**	 *  Description of the Field	 */	public final static String smi = "smi";	/**	 *  Description of the Field	 */	protected List types;	/**	 *  Constructor for the JCPFileFilter object	 *	 *@param  type  Description of the Parameter	 */	public JCPFileFilter(String type)	{		super();		types = new ArrayList();		types.add(type);	}	/**	 *  Adds an additional file type to the list	 *	 *@param  type  The feature to be added to the Type attribute	 */	public void addType(String type)	{		types.add(type);	}	/**	 *  Adds the JCPFileFilter to the JFileChooser object.	 *	 *@param  chooser  The feature to be added to the ChoosableFileFilters	 *      attribute	 */	public static void addChoosableFileFilters(JFileChooser chooser)	{		chooser.addChoosableFileFilter(new JCPSaveFileFilter(JCPFileFilter.mol));		chooser.addChoosableFileFilter(new JCPFileFilter(JCPFileFilter.smi));		chooser.addChoosableFileFilter(new JCPFileFilter(JCPFileFilter.inchi));		chooser.addChoosableFileFilter(new JCPFileFilter(JCPFileFilter.sdf));		chooser.addChoosableFileFilter(new JCPFileFilter(JCPFileFilter.rxn));		chooser.addChoosableFileFilter(new JCPFileFilter(JCPFileFilter.rdf));		JCPFileFilter cmlFilter = new JCPFileFilter(JCPFileFilter.cml);		cmlFilter.addType(JCPFileFilter.xml);		chooser.addChoosableFileFilter(cmlFilter);	}	/*	 *  Get the extension of a file.	 */	/**	 *  Gets the extension attribute of the JCPFileFilter class	 *	 *@param  f  Description of the Parameter	 *@return    The extension value	 */	public static String getExtension(File f)	{		String ext = null;		String s = f.getName();		int i = s.lastIndexOf('.');		if (i > 0 && i < s.length() - 1)		{			ext = s.substring(i + 1).toLowerCase();		}		return ext;	}	// Accept all directories and all gif, jpg, or tiff files.	public boolean accept(File f)	{		if (f.isDirectory())		{			return true;		}		String extension = getExtension(f);		if (extension != null)		{			if (types.contains(extension))			{				return true;			} else			{				return false;			}		}		return false;	}	// The description of this filter	/**	 *  Gets the description attribute of the JCPFileFilter object	 *	 *@return    The description value	 */	public String getDescription()	{		String type = (String) types.get(0);		if (type.equals(mol))		{			return "MDL MOL file";		}		if (type.equals(sdf))		{			return "MDL SDF Molfile";		}		if (type.equals(rxn))		{			return "MDL RXN Molfile";		}		if (type.equals(rdf))		{			return "MDL RDF Molfile";		}		if (type.equals(inchi))		{			return "IUPAC Chemical Identifier";		}		if (type.equals(smi))		{			return "SMILES";		}		if (type.equals(cml) || type.equals(xml))		{			return "Chemical Markup Language";		}		return null;	}	/**	 *  Gets the type attribute of the JCPFileFilter object	 *	 *@return    The type value	 */	public String getType()	{		return (String) types.get(0);	}	/**	 *  Sets the type attribute of the JCPFileFilter object	 *	 *@param  type  The new type value	 */	public void setType(String type)	{		types.add(type);	}}

⌨️ 快捷键说明

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