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

📄 oyoahafilethemeloader.java

📁 java 开源,Swing外观:JGoodies look & feel. ... JGoodies look&feels让你的Swing 应用程序与applets看起来更漂亮.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    {      /*if(debug!=null)      {        debug.println("ERROR create a object from a class name: " + e.toString());      }*/    }    //print info about the correct way to built this object    debug.println("<br><hr><font color=red>Maybe wrong constructor for: </font>" + _name);    try    {      Class c = loadClass(_name);      Constructor[] constructor = c.getConstructors();      for(int i=0;i<constructor.length;i++)      {        debug.println("");        debug.println("&lt;object type=\"Object\"&gt;");        debug.println("&lt;name&gt;THE_OBJECT_NAME_HERE&lt;/name&gt;");        debug.println("&lt;data&gt;" + _name + "</data&gt;");        Class[] classes = constructor[i].getParameterTypes();        for(int u=0;u<classes.length;u++)        {          if(classes[u].getName().equals("java.lang.Integer"))          debug.println("&lt;para type=\"Integer\"&gt;");          else          if(classes[u].getName().equals("java.lang.Long"))          debug.println("&lt;para type=\"Long\"&gt;");          else          if(classes[u].getName().equals("java.lang.Short"))          debug.println("&lt;para type=\"Short\"&gt;");          else          if(classes[u].getName().equals("java.lang.Double"))          debug.println("&lt;para type=\"Double\"&gt;");          else          if(classes[u].getName().equals("java.lang.Float"))          debug.println("&lt;para type=\"Float\"&gt;");          else          if(classes[u].getName().equals("java.lang.Boolean"))          debug.println("&lt;para type=\"Boolean\"&gt;");          else          if(classes[u].getName().equals("java.lang.String"))          debug.println("&lt;para type=\"String\"&gt;");          else          if(classes[u].getName().equals("java.awt.Image"))          debug.println("&lt;para type=\"Image\"&gt;");          else          if(classes[u].getName().equals("javax.swing.Icon"))          debug.println("&lt;para type=\"Icon\"&gt;");          else          if(classes[u].getName().equals("java.awt.Font"))          debug.println("&lt;para type=\"Font\"&gt;");          else          if(classes[u].getName().equals("java.awt.Color"))          debug.println("&lt;para type=\"Color\"&gt;");          else          if(classes[u].getName().equals("java.awt.Insets"))          debug.println("&lt;para type=\"Insets\"&gt;");          else          if(classes[u].getName().equals("java.awt.Dimension"))          debug.println("&lt;para type=\"Dimension\"&gt;");          else          if(classes[u].getName().equals("java.awt.Rectangle"))          debug.println("&lt;para type=\"Rectangle\"&gt;");          else          debug.println("&lt;para type=\"" + classes[u] + "\"&gt;");          debug.println("&lt;data&gt;TODO&lt;/data&gt;");          debug.println("&lt;/para&gt;");        }        debug.println("&lt;/object&gt;");        debug.println("");      }    }    catch(Exception e)    {      debug.println("<font color=red>ERROR unabled to print info about this class: </font>" + _name + " - " + e.toString());      debug.println("");    }    return null;  }  /**  * create a object from a class name  */  public Object createObject(String _name, Object[] object)  {    try    {      Class c = loadClass(_name);      Constructor[] constructor = c.getConstructors();      for(int i=0;i<constructor.length;i++)      {        try        {          return constructor[i].newInstance(object);        }        catch(Exception e)        {          /*if(debug!=null)          {            debug.println("ERROR create a object from a class name: " + e.toString());          }*/        }      }    }    catch(Exception e)    {      /*if(debug!=null)      {        debug.println("ERROR create a object from a class name: " + e.toString());      }*/    }    //print info about the correct way to built this object    debug.println("<br><hr><font color=red>Maybe wrong constructor for: </font>" + _name);    try    {      Class c = loadClass(_name);      Constructor[] constructor = c.getConstructors();      for(int i=0;i<constructor.length;i++)      {        debug.println("");        debug.println("&lt;object type=\"Object\"&gt;");        debug.println("&lt;name&gt;THE_OBJECT_NAME_HERE&lt;/name&gt;");        debug.println("&lt;data&gt;" + _name + "</data&gt;");        Class[] classes = constructor[i].getParameterTypes();        for(int u=0;u<classes.length;u++)        {          if(classes[u].getName().equals("java.lang.Integer"))          debug.println("&lt;para type=\"Integer\"&gt;");          else          if(classes[u].getName().equals("java.lang.Long"))          debug.println("&lt;para type=\"Long\"&gt;");          else          if(classes[u].getName().equals("java.lang.Short"))          debug.println("&lt;para type=\"Short\"&gt;");          else          if(classes[u].getName().equals("java.lang.Double"))          debug.println("&lt;para type=\"Double\"&gt;");          else          if(classes[u].getName().equals("java.lang.Float"))          debug.println("&lt;para type=\"Float\"&gt;");          else          if(classes[u].getName().equals("java.lang.Boolean"))          debug.println("&lt;para type=\"Boolean\"&gt;");          else          if(classes[u].getName().equals("java.lang.String"))          debug.println("&lt;para type=\"String\"&gt;");          else          if(classes[u].getName().equals("java.awt.Image"))          debug.println("&lt;para type=\"Image\"&gt;");          else          if(classes[u].getName().equals("javax.swing.Icon"))          debug.println("&lt;para type=\"Icon\"&gt;");          else          if(classes[u].getName().equals("java.awt.Font"))          debug.println("&lt;para type=\"Font\"&gt;");          else          if(classes[u].getName().equals("java.awt.Color"))          debug.println("&lt;para type=\"Color\"&gt;");          else          if(classes[u].getName().equals("java.awt.Insets"))          debug.println("&lt;para type=\"Insets\"&gt;");          else          if(classes[u].getName().equals("java.awt.Dimension"))          debug.println("&lt;para type=\"Dimension\"&gt;");          else          if(classes[u].getName().equals("java.awt.Rectangle"))          debug.println("&lt;para type=\"Rectangle\"&gt;");          else          debug.println("&lt;para type=\"" + classes[u] + "\"&gt;");          debug.println("&lt;data&gt;TODO&lt;/data&gt;");          debug.println("&lt;/para&gt;");        }        debug.println("&lt;/object&gt;");        debug.println("");      }    }    catch(Exception e)    {      debug.println("<font color=red>ERROR unabled to print info about this class: </font>" + _name + " - " + e.toString());      debug.println("");    }    return null;  }  /**  *  */  /*public Object readProperty(String key, String data)  {    try    {      key = key.toLowerCase();      if(key.startsWith("oyoaha") || key.startsWith("Oyoaha"))      {        return data;      }      else      if(key.startsWith("sound") || key.startsWith("Sound"))      {        return data;      }      else      if(key.endsWith("foreground") || key.endsWith("background") || key.endsWith("color") || key.endsWith("shadow") || key.endsWith("highlight") || key.endsWith("focus"))      {        return OyoahaThemeLoaderUtilities.readColor(data);      }      else      if(key.endsWith("font"))      {        return OyoahaThemeLoaderUtilities.readFont(data);      }      else      if(key.endsWith("icon"))      {        return readIcon(data);      }      else      if(data!=null)      {        if(data.equalsIgnoreCase("true") || data.equalsIgnoreCase("false"))        return new Boolean(data);        return new Integer(data);      }    }    catch(Exception e)    {      /*if(debug!=null)      {        debug.println("ERROR readProperty: " + e.toString());      }*/    /*}    return null;  }*///------------------------------------------------------------------------------// INNER CLASS//------------------------------------------------------------------------------  public class OyoahaThemeHandler extends HandlerBase  {    protected String value;    protected String type;    protected Stack stack;    protected Hashtable table;    protected OyoahaThemeLoader loader;    public OyoahaThemeHandler(OyoahaThemeLoader _loader, OyoahaLookAndFeel _lnf, OyoahaTheme _theme)    {      loader = _loader;      table = new Hashtable();      table.put("LOOKANDFEEL", _lnf);      table.put("CLASSLOADER", _loader);      table.put("THEME", _theme);      table.put("SCHEME", _lnf.getOyoahaThemeScheme());      /*if(debug!=null)      {        debug.println("create a OyoahaThemeHandler");      }*/    }    public void attribute(String name, String value, boolean isSpecified)    {      name = name.toLowerCase();      if(name.equals("type"))      {        type = value;      }    }    public void doctypeDecl(String name, String publicId, String systemId) throws Exception    {      if (!name.equalsIgnoreCase("OYOAHATHEME"))      {        throw new Exception("Not a valid OyoahaTheme file !");      }    }    public void charData(char[] c, int off, int len)    {      value = new String(c, off, len);    }    public void startElement(String name)    {      if (name.equalsIgnoreCase("object"))      {        ObjectLoader l = new ObjectLoader(this);        l.setType(type);        stack.push(l);      }      else      if (name.equalsIgnoreCase("para"))      {        ObjectLoader l = new ObjectLoader(this);        l.setType(type);        stack.push(l);      }    }    public void endElement(String name)    {      if (name.equalsIgnoreCase("object"))      {        ObjectLoader l = (ObjectLoader)stack.pop();        Object o = l.getObject();        debug.println("<BIG> RESULT: </BIG> <font color=blue>" + l.getName() + "</font> <font color=purple>" + o + "</font><hr>");        debug.println("");        if(o!=null)        table.put(l.getName(), o);        else        table.put(l.getName(), new NullTag());      }      else      if (name.equalsIgnoreCase("para"))      {        ObjectLoader l = (ObjectLoader)stack.pop();        ObjectLoader l2 = (ObjectLoader)stack.peek();        l2.addObject(l.getObject());      }      else      if (name.equalsIgnoreCase("name"))      {        ObjectLoader l = (ObjectLoader)stack.peek();        l.setName(value);      }      else      if (name.equalsIgnoreCase("data"))      {        ObjectLoader l = (ObjectLoader)stack.peek();        l.setData(value);      }    }    public void startDocument()    {      stack = new Stack();    }    public Object getObject(String _key)    {      return table.get(_key);    }    public Hashtable getHashtable()    {      return table;    }  }  public class ObjectLoader  {    protected String name;    protected String data;    protected String type;    protected Vector objects;    protected OyoahaThemeHandler gThemeHandler;    public ObjectLoader(OyoahaThemeHandler _gThemeHandler)    {      gThemeHandler = _gThemeHandler;      objects = new Vector();      /*if(debug!=null)      {        debug.println("create a ObjectLoader");      }*/    }    public void setName(String _name)    {      name = _name;    }    public String getName()    {      return name;    }    public void setData(String _data)    {      data = _data;    }    public void setType(String _type)    {      type = _type;    }    public void addObject(Object _object)    {      objects.addElement(_object);    }    public Object getObject()    {      Object[] o = new Object[objects.size()];      objects.copyInto(o);      return getObject(o);    }    protected final Object getObject(Object[] object)    {      if(type.equals("null"))      debug.println("getObject type: <font color=blue>" + type + "</font>");      else      debug.println("getObject type: <font color=blue>" + type + "</font> data: <font color=purple>" + data + "</font>");      if(type.equals("instance"))      {        return gThemeHandler.getObject(data);      }      else      if(type.equals("null"))      {        return null;      }      else      if(type.equals("Integer"))      {        return new Integer(data);      }      else      if(type.equals("Byte"))      {        return new Byte(data);      }      else      if(type.equals("Long"))      {        return new Long(data);      }      else      if(type.equals("Short"))      {        return new Short(data);      }      else      if(type.equals("Double"))      {        return new Double(data);      }      else      if(type.equals("Float"))      {        return new Float(data);      }      else      if(type.equals("Boolean"))      {        return new Boolean(data);      }      else      if(type.equals("String"))      {        return new String(data);      }      else      if(type.equals("Image"))      {        return readImage(data);      }      else      if(type.equals("Icon"))      {        return readIcon(data);      }      else      if(type.equals("Font"))      {        return OyoahaThemeLoaderUtilities.readFont(data);      }      else      if(type.equals("Color"))      {        return OyoahaThemeLoaderUtilities.readColor(data);      }      else      if(type.equals("Insets"))      {        return OyoahaThemeLoaderUtilities.readInsets(data);      }      else      if(type.equals("Dimension"))      {        return OyoahaThemeLoaderUtilities.readDimension(data);      }      else      if(type.equals("Point"))      {        return OyoahaThemeLoaderUtilities.readPoint(data);      }      else      if(type.equals("Rectangle"))      {        return OyoahaThemeLoaderUtilities.readRectangle(data);      }      debug.println("createObject name: <font color=blue>" + name + "</font> data: <font color=purple>" + data + "</font>");      return createObject(data, object);    }  }  public class NullTag  {  }}

⌨️ 快捷键说明

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