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

📄 tiledfilefilter.java

📁 tiled地图编辑器是2d的,很不错的国外软件,使用起来很方便的
💻 JAVA
字号:
/* *  Tiled Map Editor, (c) 2004-2006 * *  This program is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  Adam Turk <aturk@biggeruniverse.com> *  Bjorn Lindeijer <b.lindeijer@xs4all.nl> */package tiled.mapeditor.util;import java.io.File;import java.util.Iterator;import java.util.LinkedList;import javax.swing.filechooser.FileFilter;import tiled.io.PluggableMapIO;import tiled.io.xml.XMLMapWriter;import tiled.mapeditor.Resources;/** * @version $Id: TiledFileFilter.java 683 2006-06-25 14:17:37Z bjorn $ */public class TiledFileFilter extends FileFilter{    public static final int FILTER_EXT  = 0;    public static final int FILTER_TMX  = 1;    public static final int FILTER_TSX  = 2;    public static final int FILTER_BOTH = 3;    public static final int FILTER_PLUG = 4;    private String desc;    private LinkedList exts;    private PluggableMapIO pmio;    private int type = FILTER_EXT;    private static final String FILETYPE_TILED = Resources.getString("general.filetype.tiled");    private static final String FILETYPE_TMX = Resources.getString("general.filetype.tiledmap");    private static final String FILETYPE_TSX = Resources.getString("general.filetype.tiledtileset");    private static final String FILETYPE_EXT = Resources.getString("general.filetype.byextension");    public TiledFileFilter() {        desc = FILETYPE_TILED;        exts = new LinkedList();        exts.add("tmx");        exts.add("tmx.gz");        exts.add("tsx");        pmio = new XMLMapWriter();    }    public TiledFileFilter(int filter) {        exts = new LinkedList();        desc = "";        type = filter;        if ((filter & FILTER_TMX) != 0) {            desc = FILETYPE_TMX;            exts.add("tmx");            exts.add("tmx.gz");            pmio = new XMLMapWriter();        }        if ((filter & FILTER_TSX) != 0) {            desc += FILETYPE_TSX;            exts.add("tsx");            if (pmio == null) {                pmio = new XMLMapWriter();            }        }        if (filter == FILTER_EXT) {            desc = FILETYPE_EXT;        }    }    public TiledFileFilter(PluggableMapIO p) throws Exception {        exts = new LinkedList();        pmio = p;        buildFilter(p.getFilter(), p.getName());    }    public TiledFileFilter(String filter, String desc) {        exts = new LinkedList();        buildFilter(filter, desc);    }    private void buildFilter(String filter, String desc) {        this.desc = desc;        String[] ext = filter.split(",");        for (int i = 0; i < ext.length; i++) {            exts.add(ext[i].substring(ext[i].indexOf('.') + 1));        }    }    public void setDescription(String d) {        desc = d;    }    public void addExtention(String e) {        exts.add(e);    }    public PluggableMapIO getPlugin() {        return pmio;    }    public String getFirstExtention() {        return (String) exts.getFirst();    }    public int getType() {        return type;    }    public boolean accept(File f) {        // todo: Verify that the "!f.exists()" check is rather weird.        if (type != FILTER_EXT && (f.isFile() || !f.exists())) {            String fileName = f.getPath().toLowerCase();            Iterator itr = exts.iterator();            while (itr.hasNext()) {                String ext = (String) itr.next();                if (fileName.endsWith("." + ext)) {                    return true;                }            }            return false;        }        return true;    }    public String getDescription() {        String filter = "";        if (!exts.isEmpty()) {            filter += " (";            Iterator itr = exts.iterator();            while (itr.hasNext()) {                String ext = (String) itr.next();                filter = filter + "*." + ext;                if (itr.hasNext()) {                    filter += ",";                }            }            filter += ")";        }        return desc + filter;    }}

⌨️ 快捷键说明

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