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

📄 oyoahacompactor.java

📁 java 开源,Swing外观:JGoodies look & feel. ... JGoodies look&feels让你的Swing 应用程序与applets看起来更漂亮.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        conf.put("rApplet", String.valueOf(rApplet));
        
        try
        {
            conf.save(new FileOutputStream(f), "OyoahaLnFCompactor");
        }
        catch(Exception e)
        {
        	
        }
    }

    public void compact()
    {
        Vector remove = new Vector();
        
        if (rManifest)
        {
            remove.addElement("meta-inf/manifest.mf");
        }
        
        if (rTree)
        {
            fill(remove, "/rules/rTree.list");
        }

        if (rExamples)
        {
            fill(remove, "/rules/rExamples.list");
        }

        if (rFilechooser)
        {
            fill(remove, "/rules/rFilechooser.list");
        }

        if (rInternalFrame)
        {
            fill(remove, "/rules/rInternalFrame.list");
        }

        if (rApplet)
        {
            fill(remove, "/rules/rApplet.list");
        }

        if (rMenu)
        {
            fill(remove, "/rules/rMenu.list");
        }

        if (rOptionPane)
        {
            fill(remove, "/rules/rOptionPane.list");
        }

        if (rSound)
        {
            fill(remove, "/rules/rSound.list");
        }

        if (rSplitPane)
        {
            fill(remove, "/rules/rSplitPane.list");
        }

        if (rTabbedPane)
        {
            fill(remove, "/rules/rTabbedPane.list");
        }

        if (rTable)
        {
            fill(remove, "/rules/rTable.list");
        }

        if (rColorchooser)
        {
            fill(remove, "/rules/rColorchooser.list");
        }

        if (rDebug)
        {
            fill(remove, "/rules/rDebug.list");
        }
        
        if (rEditor)
        {
            fill(remove, "/rules/rEditor.list");
        }
        
        try
        {
            ZipFile sourceFile = new ZipFile(source);
            ZipOutputStream out = new ZipOutputStream(new FileOutputStream(target));
            //out.setLevel(9);
            
            Enumeration enumeration = sourceFile.entries();

            while (enumeration.hasMoreElements())
            {
                ZipEntry entry = (ZipEntry)enumeration.nextElement();
                
                if (entry.getName().toLowerCase().equals("com/oyoaha/swing/plaf/oyoaha/uidefaults2.properties"))
                {
                    if (!rJava1_3)
                    {
                        writeUIDefault(sourceFile, out, entry);
                    }
                }
                else
                if (entry.getName().toLowerCase().equals("com/oyoaha/swing/plaf/oyoaha/uidefaults.properties"))
                {
                    if (!rJava1_2)
                    {
                        writeUIDefault(sourceFile, out, entry);
                    }
                }
                else
                if (rJavaFile && entry.getName().toLowerCase().endsWith(".java"))
                {
                    //do nothing
                }
                else
                if (!remove.contains(entry.getName().toLowerCase()))
                {
                    //save this entry...
                    add(sourceFile, out, entry);
                }
            }
            
            out.finish();
            out.close();
            sourceFile.close();
        }
        catch(Exception e)
        {
           
        }
    }
    
    protected void writeUIDefault(ZipFile sourceFile, ZipOutputStream out, ZipEntry esource) throws IOException
    {
        Properties properties = new Properties();
        properties.load(sourceFile.getInputStream(esource));

        if (rTree)
        {
            properties.remove("TreeUI");
        }

        if (rFilechooser)
        {
            properties.remove("FileChooserUI");
        }

        if (rInternalFrame)
        {
            properties.remove("InternalFrameUI");
            properties.remove("DesktopIconUI");
            properties.remove("DesktopPaneUI");
        }

        if (rMenu)
        {
            properties.remove("MenuBarUI");
            properties.remove("MenuItemUI");
            properties.remove("MenuUI");
            properties.remove("CheckBoxMenuItemUI");
            properties.remove("RadioButtonMenuItemUI");
        }

        if (rOptionPane)
        {
            properties.remove("OptionPaneUI");
        }

        if (rSplitPane)
        {
            properties.remove("SplitPaneUI");
        }

        if (rTabbedPane)
        {
            properties.remove("TabbedPaneUI");
        }

        if (rTable)
        {
            properties.remove("TableUI");
            properties.remove("TableHeaderUI");
        }

        if (rColorchooser)
        {
            properties.remove("ColorChooserUI");
        }
        
        ZipEntry tmp = new ZipEntry(esource.getName());
        out.putNextEntry(tmp);
        properties.save(out, "");
        out.closeEntry();
    }
    
    protected void add(ZipFile sourceFile, ZipOutputStream out, ZipEntry esource) throws IOException
    {
        ZipEntry entry = new ZipEntry(esource.getName());
        InputStream in = sourceFile.getInputStream(esource);
        out.putNextEntry(entry);
        
        byte[] buf = new byte[10240];
        
        for ( int i = 0 ; ; i++ ) 
        {
            int len = in.read(buf);
            
            if (len<0)
            {
                break;
            }
            
            out.write(buf, 0, len);
        }
        
        in.close();
        out.closeEntry();
    }
    
    protected void fill(Vector vector, String rc)
    {
        try
        {
            BufferedReader reader = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream(rc)));
        
            String line = reader.readLine();
            
            while (line!=null)
            {
                vector.addElement(line.toLowerCase());
                line = reader.readLine();
            }
        
            reader.close();
        }
        catch(Exception e)
        {
       
        }
    }
    
    
    public final static void main(String[] arg)
    {
        File f;
        
        if(arg.length>0)
        {
            f = new File(arg[0]);
        }
        else
        {
            f = new File(System.getProperty("user.dir"), "rawlnf.zip");    
        }
        
        String parent = f.getParent();
        
        //used for oyoaha lookanfeel package...
        OyoahaCompactor compactor = new OyoahaCompactor();
        compactor.setSourceFile(f);
        compactor.setTargetFile(new File(parent, "oalnf.jar"));
        
        compactor.setrJavaFile(true);
        compactor.setrApplet(true);
        
        compactor.setrExamples(false);
        
        compactor.setrColorchooser(false);
        compactor.setrFilechooser(false);
        compactor.setrInternalFrame(false);
        compactor.setrManifest(false);
        compactor.setrMenu(false);
        compactor.setrOptionPane(false);
        compactor.setrSound(false);
        compactor.setrSplitPane(false);
        compactor.setrTabbedPane(false);
        compactor.setrTable(false);
        compactor.setrTree(false);
        compactor.setrJava1_2(false);
        
        compactor.compact();
        
        //used for oyoaha lookanfeel applet...
        compactor = new OyoahaCompactor();
        compactor.setSourceFile(f);
        compactor.setTargetFile(new File(parent, "appletlnf.jar"));
        
        compactor.setrJavaFile(true);
        compactor.setrExamples(true);
        
        compactor.setrApplet(false);

        compactor.setrColorchooser(true);
        compactor.setrFilechooser(true);
        compactor.setrInternalFrame(true);
        compactor.setrManifest(true);
        compactor.setrMenu(false);
        compactor.setrOptionPane(true);
        compactor.setrSound(true);
        compactor.setrSplitPane(true);
        compactor.setrTabbedPane(true);
        compactor.setrTable(true);
        compactor.setrTree(true);
        compactor.setrJava1_2(false);
        
        compactor.compact();
        
        //used for debug oyoaha lookanfeel package...
        compactor = new OyoahaCompactor();
        compactor.setSourceFile(f);
        compactor.setTargetFile(new File(parent, "oalnf_d.jar"));
        
        compactor.setrJavaFile(true);
        compactor.setrApplet(true);
        
        compactor.setrExamples(false);
        
        compactor.setrDebug(false);
        
        compactor.setrColorchooser(false);
        compactor.setrFilechooser(false);
        compactor.setrInternalFrame(false);
        compactor.setrManifest(false);
        compactor.setrMenu(false);
        compactor.setrOptionPane(false);
        compactor.setrSound(false);
        compactor.setrSplitPane(false);
        compactor.setrTabbedPane(false);
        compactor.setrTable(false);
        compactor.setrTree(false);
        compactor.setrJava1_2(false);
        
        compactor.compact();
    }
}

⌨️ 快捷键说明

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