📄 oyoahacompactor.java
字号:
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 + -