📄 demolauncher.java
字号:
/*
* $Header$
* $Date$
* $Revision$
* Copyright (C) 2003-2004 CIC, Tsinghua Univ.
*/
package jcase.gui;
import java.awt.Frame;
import jcase.gui.swing.BaseSwingDemo;
/**
* 启动一个Demo的工具类
*/
public class DemoLauncher {
public static void main(String[] args) {
Object demo=null;
try {
demo = Class.forName(args[0]).newInstance();
} catch (InstantiationException e) {
System.err.println("无法实例化类 "+args[0]+",也许其没有无参数的构造函数");
e.printStackTrace();
} catch (IllegalAccessException e) {
System.err.println("无法访问类 "+args[0]);
e.printStackTrace();
} catch (ClassNotFoundException e) {
System.err.println("找不到这个类:"+args[0]);
e.printStackTrace();
} catch(IndexOutOfBoundsException e){
System.err.println("用法:java jcase.gui.DemoLauncher DemoclassName");
}
if(null==demo){
System.exit(-1);
}
if(demo instanceof BaseDemo){
awtDemo((BaseDemo)demo);
}
else if(demo instanceof BaseSwingDemo){
swingDemo((BaseSwingDemo)demo);
}
else{
System.err.println(args[0]+"即不是一个AWTDemo也不是一个SwingDemo.\n" +
"Demo应该是jcase.gui.BaseDemo的子类(AWTDemo)或者jcase.gui.BaseSwingDemo(SwingDemo)的子类。");
}
}
public static void awtDemo(BaseDemo demo){
Frame frm = new Frame(demo.getTitle());
frm.add(demo);
frm.pack();
frm.show();
frm.addWindowListener(new DefaultWindowListener());
}
public static void swingDemo(BaseSwingDemo demo){
javax.swing.JFrame frm = new javax.swing.JFrame(demo.getTitle());
frm.getContentPane().add(demo);
frm.pack();
frm.show();
frm.addWindowListener(new DefaultWindowListener());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -