📄 launcher.java
字号:
/* This file is part of ui2swt.
*
* $Revision: 1.3 $
* $Date: 2007/02/18 03:24:20 $
* $Name: $
*
* Copyright (C) 2006-2007 James Forbes, All Rights Reserved.
*
* This software is provided 'as-is', without any express or implied warranty.
* In no event will the authors be held liable for any damages arising from the
* use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software in
* a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
*
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
*
* 3. This notice may not be removed or altered from any source distribution.
*/
package ui2swt.test;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Shell;
public class Launcher
{
public Launcher()
{}
//
//
//
public void launchTest( Shell iParent, String iClassName )
{
try
{
Shell testShell = new Shell(iParent, SWT.SHELL_TRIM);
Object test = null;
testShell.setText(iClassName);
test = this.constructTest(testShell, iClassName);
this.setTestActions(test);
testShell.pack();
testShell.setMinimumSize(testShell.getSize());
testShell.open();
}
catch ( Throwable iE )
{
iE.printStackTrace();
}
}
//
//
//
private Object constructTest( Shell iTestShell, String iClassName )
throws Exception
{
Object test = null;
Constructor constructors[] = Class.forName(iClassName).getConstructors();
if ( constructors[0].getParameterTypes().length == 1 )
{
test = constructors[0].newInstance(new Object[]{iTestShell});
}
else
{
test = constructors[0].newInstance(new Object[]{iTestShell,new Integer(SWT.NONE)});
iTestShell.setLayout(new FillLayout());
}
return test;
}
private void setTestActions( Object iTest ) throws Exception
{
Field[] fields = iTest.getClass().getFields();
for ( int i = 0; i < fields.length; i++ )
{
Field field = fields[i];
if ( field.getType() == Runnable.class )
{
field.set(iTest, new Action(field.getName()));
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -