java的GUI之SWT框架 配置开发环境(包含但不限于WindowBuilder完整教程,解决Unknown GUI toolkit报错,解决导入SWT包错误)...

本文详细介绍了如何在Eclipse和VSCode中配置SWT开发环境,包括安装WindowBuilder插件以解决Unknown GUI toolkit错误,以及如何导入和配置SWT库,确保GUI设计和运行的顺利进行。同时,提供了SWT的官方资源和学习资料。
摘要由CSDN通过智能技术生成

官网(资料挺多的,API文档截图以及示例都有):https://www.eclipse.org/swt/

克隆官方仓库

git clone --depth=1 git://git.eclipse.org/gitroot/platform/eclipse.platform.swt.git

 

  里面只有 org.eclipse.swt.snippets 目录里面有 300多个代码片段,初学直接看这部分源码即可。

  其他 example 目录是成品小 demo,学完snippet再看,然后就能做东西了

 

本次环境:

Eclipse IDE for Java Developers

Version: 2018-12 (4.10.0)

Build id: 20181214-0600

JAVA:JDK11 

Windows10 Pro 预览版 18334——19H1

 

去网上找了配置SWT开发环境的,发现很多教程都过时了。SWT是一个利用Java的JNI对接原生系统的框架

(做到了系统原生里有的GUi Api 就尽量用系统的,没有的就绘制,大大提高了运行效率,是真正可以考虑的贴合系统的GUI,不过理论上移植性比Swing Awt差点)

 

 

被GFW和Dns污染光环之下的请换源(享受秒开的喜悦):https://lug.ustc.edu.cn/wiki/mirrors/help/eclipse#使用科大镜像更新插件

 一,Eclipse里安装WindowBuilder来可视化设计SWT程序的完整教程

(完美解决Unknown GUI toolkit或无法导入swt包的错误报错):

如果仅仅是想在Eclipse里使用WindowBuilder来可视化设计SWT程序,可以参考按这里做eclipse安装WindowBuilder插件以及简单使用(近更) - Akatsuki - CSDN博客 (如果last good build不行可以选第一个Lastest)  

注意:上面这教程中的

“然后进入到工程,右键src->new->other->WindowBuilder->Swing Designer->Application Window->next->起名->Finish”

应改为:

“然后进入到工程,右键src->new->Packages,(必须勾上Create package-info.java),再右击src->other->WindowBuilder->Swing Designer->SWT->Application Window->next->起名->Finish”

 

然后如果design界面还是用不了,提示Unknown GUI toolkit    The parser parsed the compilation unit, but can't identifyany GUI toolkit,   If you wish to use SWT,please add the appropriate SWT jars to your classpath, or create a new SWT/JF

点击Switch to code切换到代码区

然后就如下图操作(点击代码区import所在行号栏里的×号):

点击+号展开import,再双击 Add 'requires org.*' to module-info.java

 

 

 

然后打开同工程里的module-info.java,鼠标悬浮在requires后面的org.eclipse.swt.win32.win32.x86_64上,然后双击Move classpath entry 'org.eclipse.swt.win32*',

如果有  requires swt; 那一行就删掉(因为我截图里写错了又懒得改)

为什么需要在module-info.java里添加requires?这是Java9引入的新特性,至于作用和用法,我还在思考....

 

 

 

 然后SWT报错少了一些,嗯,快成功了。

先下载swt.jar并解压到任意一个目录,下载请看这里:下载SWT

导入SWT的ClassPath

在Eclipse里添加额外的Class Folder,选择解压好的目录(即swt.jar所在目录)    

 

然后再添加DLL支持,具体操作实例:

在Eclipse安装目录下的plugins目录下,找到文件org.eclipse.swt.win32.win32.x86_64_3.109.0.v20181204-1801.jar(x86_64后面的是版本号,你我的可能版本略微不同),复制出来并解压到某一目录(该jar文件里面有4个dll文件)

然后在Eclipse包资源管理器中,右击项目名 → 导入 → 常规 → 文件系统 → 下一步 → 浏览 并选择dll文件所在目录,勾选4个dll文件确认即可。

 

发现包资源管理器都没红×了吧!那就是成功了

最后点Main.java(Eclipse生成的swt程序示例),然后切换design界面,点Reparse重新加载可视化界面即可

 

 

 

 

最后效果:

 

 

 

测试添加组件(一切正常)

附上包资源一栏截图:

 

 

 

 

 


 

 

    

 

 二,在非Eclipse里配置SWT开发环境,例如VSCode

1,下载SWT:

进入https://www.eclipse.org/swt/

在Lastest Release里点击你Eclipse对应的版本号。

 

 

进入后你会发现这里有你选择的Eclipse版本所对应的全部SDK及其运行环境(如下图),

往下翻找到SWT Binary and Source,点击swt-<Eclipse版本号>-win32-win32-x86_64.zip下载即可

下载完成。

 

写好HelloWorld 并按照以下目录结构放置

+ lib

  - swt.jar

+ src

  - HelloWorld.java

 1 package org.yu;
 2 
 3 /**
 4  * Hello world!
 5  *
 6  */
 7 
 8 import org.eclipse.swt.widgets.Display;
 9 import org.eclipse.swt.widgets.Shell;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值