使用windowbuilder插件开发图形界面

简介:

先介绍一下JFrameFrame窗口上的区别:

  JFrame窗口是自带默认有一个Panel容器的,Frame窗口则是没有的,它们默认的布局都是边界布局。

JFrame默认的是边界布局,JPanel默认的是流式布局。

  要使用JFrame窗口自带的容器或让容器不显示之类的操作都得先使用getContentPane();来得到容器后才能对这个容器进行操作。例如设置窗口的背景颜色(使容器不显示)


5149c830e18902f5f27fef13e626477c.png


运行效果:

6c5f4ac25c7a246d4d5b6c550ccdecd2.png


菜单栏对象、菜单项与菜单子项:

2e6b4eea540ea1826f15c35e71d2d6b9.png


在窗口最上面的这一排选项就是菜单栏,想在窗口上添加菜单栏,首先使用菜单栏类JMenuBar构建出菜单栏对象,才能往里面添加其他组件。

  构建出对象后,再使用JMenu菜单项类构建出菜单项对象,然后使用菜单栏对象访问add();方法把构建出来的菜单项对象添加上去。接着使用窗口对象访问setJMenuBar();方法把菜单栏对象设置一下。代码示例:

993b5b62fed9405df7cebf4b4a88042d.png


运行效果:

1ceab80d60ceb284d94e8f484a1b7cfb.png


菜单项里还可以添加菜单扩展项和菜单子项,菜单项的菜单扩展项里还可以再加菜单子项。菜单扩展项其实就是菜单项里的菜单项,新构建一个菜单项后再添加进一个菜单项里就是扩展项了。

  JMenuItem是菜单子项类,先使用这个类构建出菜单子项对象就可以将这个对象添加进菜单项里了。代码示例:

69b92e0eb38ce68cce8587bfd258f7d8.png

54288b05ffb3ef12ddf3578e6d90705e.png


运行效果:

31b60103865f387084a8749f52a22ab9.png




安装SWT插件:

  什么是SWT

SWT是IBM开发的一款使用在Eclipse上的图形化开发的插件。

SWT(Standard Widget Toolkit) Standard Widget Toolkit是一个开源的GUI编程框架,与AWT/Swing有相似的用处,著名的开源IDE-eclipse就是用SWT开发的。 在SWT之前,Sun已经提供了一个跨平台GUI开发工具包AWT (Abstract Windowing Toolkit).AWT框架底层使用原生窗口部件(native widgets)构建,只能使用各个平台窗口部件的子集。

在以前SWT是需要收费的,需要激活才能使用。但是现在SWT已经被Google公司所收购,并更名为WindowBilder Pro,现在这款插件是免费的了,直接在Eclipse里的安装新软件(Install New SoftWare)选项里的界面添加进网址即可直接安装使用。

 

安装步骤:

1.打开Eclipse里Help选项下的Install New SoftWare选项里的界面:

1d9bee8f42827b1d1b2bdb01cda226c3.png


2.粘贴下载地址:http://download.eclipse.org/windowbuilder/WB/release/4.6/

4f060351fcc8c3d3b614ee761c93ce90.png


3.等待计算需求与依赖性

26026d530cca260af20a2b53debedd14.png


4.不用管,点击下一步:

41da46b13217da882bb2a7a2eddcc1a3.png


5.选择同意并点击Finish完成:

8bb50c72aa80cf55f01f69f4216e409d.png


6.等待下载安装:

5acc2e51a57b3cf5ca1eb4d5187881e8.png


安装完成后重启Eclipse就可以使用这个插件进行图形化开发了

   重启Eclipse后,选择“File”—>New—>Project...—>WindowBuilder—>SWT Designer—>SWT/JFace Project新建项目,例如我建得“FirstSS”,然后右击所建项目,选择“New”—>Other...—>WindowBuilder—>Swing Designer或SWT Designer,选择希望建立的窗体类

a197c118abe9723898548b4b10a2da2a.png

57dba41193fd11b3f1cca4955445697c.png

7dfb9a7a65b45c07cb3277e56c60c71e.png


点击Design进入插件界面:

58486d3261ea53b747a31f4c48b3cdb5.png


  接下来就可以使用插件进行图形化界面开发了,只需要点击上面的组件添加到右边的窗口里即可,插件会自动生成代码。


示例:

c67e10d1b7dd31d7992729c4e4c3bbe2.png

这一栏是组件信息只需要将组件放上去即可



af9e58a7fc5ab7bd40f68d941088ec6a.png


运行效果:

65eca4ffdde492db6da71f1d66858768.png







本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1976488,如需转载请自行联系原作者

相关文章
|
Linux
linux 交叉编译libpng,libjpeg库
linux 交叉编译libpng,libjpeg库
296 1
|
XML 存储 数据可视化
Flowable学习笔记(一、入门)
Flowable学习笔记(一、入门)
2749 1
Flowable学习笔记(一、入门)
|
9月前
|
SQL 缓存 关系型数据库
MySQL Limit实现原理
本文深入解析了MySQL中`LIMIT`子句的实现原理及其在分页、性能优化等场景下的应用技巧。文章详细介绍了`LIMIT`的基本语法、MySQL内部处理流程,以及如何通过索引优化、覆盖索引等策略提升分页查询的性能,并提供了实践建议。
704 3
|
供应链 监控 数据挖掘
ERP系统中的采购管理与供应商评估
【7月更文挑战第25天】 ERP系统中的采购管理与供应商评估
977 3
|
机器学习/深度学习 人工智能 自然语言处理
2024年5月大语言模型论文推荐:模型优化、缩放到推理、基准测试和增强性能
本文汇总了2024年5月发布的七篇重要大语言模型论文,涉及模型优化、缩放、推理及性能增强。
1102 2
|
SQL 关系型数据库 MySQL
详解MySQL覆盖索引、索引下推
1.覆盖索引 1.1.概述 覆盖索引,是为了避免“回表查询”,从而降低查询耗时的一种使用索引的方法,所以要聊覆盖索引首先我们要知道什么是"回表查询,“回表查询”是因为MySQL的索引结构决定的,是因为非聚集索引要找聚集索引拿数据而出现的现象,所以我们又要先了解MySQL中的聚集索引和非聚集索引。 文章的脉络就是先聊聚集索引、非聚集索引是怎么带来了“回表查询”的问题,然后怎么用用覆盖索引解决这个问题。
2056 0
|
移动开发 JavaScript 小程序
uView Subsection 分段器
uView Subsection 分段器
255 0
|
关系型数据库 MySQL 数据库
Client does not support authentication protocol requested by server; consider upgrading MySQL client
Client does not support authentication protocol requested by server; consider upgrading MySQL client
241 0
|
Kubernetes Cloud Native 应用服务中间件
kubectl-ai:K8S资源清单的GPT助手
kubectl-ai:K8S资源清单的GPT助手