首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

一个关于SWT外部包的有关问题…

2013-04-12 
一个关于SWT外部包的问题……本人初学SWT,没有什么教材和视频,就在网上下了个很简易的PDF格式教程看,里面内

一个关于SWT外部包的问题……
本人初学SWT,没有什么教材和视频,就在网上下了个很简易的PDF格式教程看,里面内容比较有限,很多东西都没讲到……
问题源于看教程时,源程序例子上部分字体变色了,而写代码的时候确实没有提到此方法,当时比较奇怪,于是自己上网查,发现SWT中实现这个大概需要一个叫SWTResourceManager的方法,此方法在外部包中,而之前网上说的包为:com.swtdesigner.*包中,不知是不是版本问题(小弟使用的是SWT7.6.0;Eclipse3.6),总之撑死都没有找到那个包,倒是在另外一个包中找到了这个类(com.instantiations.designer.core_7.6.0.r36x******(星号处记不住了……)),于是导入实验,结果发现编译没问题,运行的时候报异常
小弟能力有限,又是刚学,暂时不能解决该问题,请各位帮个忙
小弟问题有两个,其一:我在这个包里找到的类是否确实是需要用到的那个类;其二:麻烦各位高手帮忙解决下程序问题!
小弟在此先谢过了……!如能解决,感激不尽!
附上代码和异常:
package SWTteachingExample;


import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

import com.instantiations.designer.core.utils.ui.SWTResourceManager;
public class GroupTest {
public static void main(String[] args)
{
Display dis=new Display();
Shell sh=new Shell(dis);
sh.setText("Group Example");
Group g1=new Group(sh,SWT.NONE);
g1.setText("Input information");
g1.setBounds(13,26,208,104);
g1.setForeground(SWTResourceManager.getColor(SWT.COLOR_BLUE));
Label lb1=new Label(g1,SWT.NONE);
lb1.setText("Name");
lb1.setBounds(13,26,78,26);
Text t1=new Text(g1,SWT.BORDER);
t1.setBounds(91,26,78,26);
Label lb2=new Label(g1,SWT.NONE);
lb2.setText("Address");
lb2.setBounds(13,52,78,26);
Text t2=new Text(g1,SWT.BORDER);
t2.setBounds(91,52,78,26);
sh.pack();
sh.open();
while(!sh.isDisposed())
{
if(!dis.readAndDispatch())
{
dis.sleep();
}
}
dis.dispose();
}
}






异常如下:Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/collect/Maps
at com.instantiations.designer.core.utils.ui.SWTResourceManager.<clinit>(SWTResourceManager.java:46)
at SWTteachingExample.GroupTest.main(GroupTest.java:21)
Caused by: java.lang.ClassNotFoundException: com.google.common.collect.Maps
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 2 more



[解决办法]
SWTResourceManager是资源包,是自己写的。如果不想自己写就下个SWT designer,可视化介面中随便搞个控件在属性中选个色,会自己给你生成这样一个类的。

热点排行