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

📄 common.java

📁 The Javatm Telnet Application/Applet 很好用的
💻 JAVA
字号:
/* * This file is part of "The Java Telnet Application". * * (c) Matthias L. Jugel, Marcus Meissner 1996-2003. All Rights Reserved. * * Please visit http://javatelnet.org/ for updates and contact. * * --LICENSE NOTICE-- * 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. * * 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 General Public License for more details. *  * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * --LICENSE NOTICE-- * */package de.mud.jta;import de.mud.jta.event.ConfigurationRequest;import javax.swing.JComponent;import javax.swing.JMenu;import java.util.Enumeration;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Properties;import java.util.Vector;/** * The common part of the <B>The Java<SUP>tm</SUP> Telnet Application</B> * is handled here. Mainly this includes the loading of the plugins and * the screen setup of the visual plugins. * <P> * <B>Maintainer:</B> Matthias L. Jugel * * @version $Id: Common.java,v 2.18 2003/11/16 14:31:15 marcus Exp $ * @author Matthias L. Jugel, Marcus Meissner */public class Common extends PluginLoader {  public final static String DEFAULT_PATH = "de.mud.jta.plugin";  public Common(Properties config) {    // configure the plugin path    super(getPluginPath(config.getProperty("pluginPath")));    System.out.println("** The Java(tm) Telnet Application");    System.out.println("** Version 2.5 for Java 2");    System.out.println("** Copyright (c) 1996-2003 Matthias L. Jugel, "                       + "Marcus Meissner");    try {      Version build =              (Version) Class.forName("de.mud.jta.Build").newInstance();      System.out.println("** Build: " + build.getDate());    } catch (Exception e) {      System.out.println("** Build: patched or selfmade, no date");      System.err.println(e);    }    Vector names = split(config.getProperty("plugins"), ',');    if (names == null) {      System.err.println("jta: no plugins found! aborting ...");      return;    }    Enumeration e = names.elements();    while (e.hasMoreElements()) {      String name = (String) e.nextElement();      String id = null;      int idx;      if ((idx = name.indexOf("(")) > 1) {        if (name.indexOf(")", idx) > idx)          id = name.substring(idx + 1, name.indexOf(")", idx));        else          System.err.println("jta: missing ')' for plugin '" + name + "'");        name = name.substring(0, idx);      }      System.out.println("jta: loading plugin '" + name + "'"                         + (id != null && id.length() > 0 ?                            ", ID: '" + id + "'" : ""));      Plugin plugin = addPlugin(name, id);      if (plugin == null) {        System.err.println("jta: ignoring plugin '" + name + "'"                           + (id != null && id.length() > 0 ?                              ", ID: '" + id + "'" : ""));        continue;      }    }    broadcast(new ConfigurationRequest(new PluginConfig(config)));  }  /**   * Get the list of visual components currently registered.   * @return a map of components   */  public Map getComponents() {    Map plugins = getPlugins();    Iterator pluginIt = plugins.keySet().iterator();    Map components = new HashMap();    while (pluginIt.hasNext()) {      String name = (String) pluginIt.next();      Plugin plugin = (Plugin) plugins.get(name);      if (plugin instanceof VisualPlugin) {        JComponent c = ((VisualPlugin) plugin).getPluginVisual();        if (c != null) {          String id = plugin.getId();          components.put(name + (id != null ? "(" + id + ")" : ""), c);        }      }    }    return components;  }  public Map getMenus() {    Map plugins = getPlugins();    Iterator pluginIt = plugins.keySet().iterator();    Map menus = new HashMap();    while (pluginIt.hasNext()) {      String name = (String) pluginIt.next();      Plugin plugin = (Plugin) plugins.get(name);      if (plugin instanceof VisualPlugin) {        JMenu menu = ((VisualPlugin) plugin).getPluginMenu();        if (menu != null) {          String id = plugin.getId();          menus.put(name + (id != null ? "(" + id + ")" : ""), menu);        }      }    }    return menus;  }  /**   * Convert the plugin path from a separated string list to a Vector.   * @param path the string path   * @return a vector containing the path   */  private static Vector getPluginPath(String path) {    if (path == null)      path = DEFAULT_PATH;    return split(path, ':');  }  /**   * Split up comma separated lists of strings. This is quite strict, no   * whitespace characters are allowed.   * @param s the string to be split up   * @return an array of strings   */  public static Vector split(String s, char separator) {    if (s == null) return null;    Vector v = new Vector();    int old = -1, idx = s.indexOf(separator);    while (idx >= 0) {      v.addElement(s.substring(old + 1, idx));      old = idx;      idx = s.indexOf(separator, old + 1);    }    v.addElement(s.substring(old + 1));    return v;  }}

⌨️ 快捷键说明

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