Eclipse SWT相关API介绍

发布于:2025-02-16 ⋅ 阅读:(197) ⋅ 点赞:(0)

Eclipse SWT框架API接口说明

Display创建

创建Display对象的线程称为UI线程。Display类提供了getDefault()方法。

Shell创建

一个Shell实例代表一个窗口。Shell.setSize设置窗口的尺寸;Shell.open()将窗口显示在屏幕上;

Display销毁

程序不再使用Display实例后,调用Display的dispose方法销毁

SWT多线程

SWT采用单线程模型管理绘图操作,只有UI线程才能进行控件重绘和处理事件循环等直接访问Display的操作,非UI线程无法操作Display。
在这里插入图片描述

Widget 类

Widget类SWT中所有和窗口相关部件的父类,继承自Object,为所有窗口组件提供创建对象、释放资源和事件监听的功能。有两个重要的子类:Control类是所有控件的父类,Item类是控件的辅助部分,代表复杂控件中的某一“项”,如表格控件中的一行就是由TableItem表示的。
在这里插入图片描述

控件的构造和样式

使用Control(Control parent, int style)来构造一个控件实例,第一个参数表示控件的父资源,第二个参数表示控件使用的样式,多个样式使用**|**隔开

控件的用户数据

开发者自定义的存储在控件中的数据。
在这里插入图片描述

使用Image

使用Image的构造函数:
Image image = new Image(Display.getDefault(), "C:\\111.jpg");
使用ImageData类,ImageData包含图像的尺寸、颜色、透明度等内容。
ImageData imageData = new ImageData("D:\\111.jpg");
使用Display内置Image对象
Image image = display.getSystemImage(SWT.ICON_ERROR);

使用Font

使用Font构造函数创建一个字体对象:
Font createFont = new Font(display, "Tahoma", 10, SWT.BOLD);
使用Display.getSystemFont获取系统内置的字体
使用控件的setFont设置字体

系统托盘

系统托盘资源由Tray类型管理,调用Display.getSystemTray获取。
获取Tray实例后,通过创建TrayItem 设置托盘的图标和提示信息。

Tray systemTray = display.getSystemTray();
TrayItem newItem = new TrayItem(systemTray, SWT.NONE);
newItem.setImage(display.getSystemImage(SWT.ICON_ERROR));
newItem.setToolTipText("Test Tray");

在SWT中使用Swing

使用SWT_AWT桥,从Composite对象中获取Swing的Frame实例。

SWT 中的基本控件

Button、Label、Text、List、Combo、ToolBar和ToolItem、Menu和MenuItem等

List控件:

在这里插入图片描述
在这里插入图片描述

Combo控件

在这里插入图片描述

ToolBar和ToolItem控件

在这里插入图片描述
在这里插入图片描述

Menu和MenuItem

在这里插入图片描述

CoolBar 和 CoolItem

CoolBar 中的按钮可以拖动,CoolItem 作为一个容器,可以加入Button、Text、Combo控件等。
在这里插入图片描述

TabFolder 和 TabItem

在这里插入图片描述

消息框

在这里插入图片描述

文件与目录对话框

在这里插入图片描述

颜色对话框

在这里插入图片描述

字体对话框

在这里插入图片描述

布局

AbsoluteLayout布局: 没有为容器指定布局管理器,容器就使用默认的AbsoluteLayout
FillLayout布局: 最简单的Layout布局,按照创建的顺序从左到右横向排布或从上到下纵向排布,并平均分配父容器的可视区域。
RowLayout布局: 将子控件自动排列在一行或一列,允许开发者给控件指定宽度和高度,没有指定使用默认尺寸,当超出容器宽度或高度后,会换行,不保证控件能完整显示。
GridLayout布局: 将容器空间划分为网格,根据网格安排子控件的位置,列数由属性numColumns指定,行数由numColumns和子控件个数共同决定。
FormLayout布局: 某个控件的位置由它与其它控件的相对位置来决定,当容器尺寸变化时,其中的控件也会自动调整
StackLayout布局: 在StackLayout管理的所有子控件中,只有顶部的一个能显示出来。通过属性topControl指定哪一个子控件处于栈顶
自定义布局: 继承Layout,实现computeSize和layout方法,computeSize容器用来计算自己的偏好尺寸。layout方法是调用shell.layout时,容器类调用的方法,这个方法真正负责排布控件的任务。

SWT事件

在这里插入图片描述
在这里插入图片描述

扩展点

org.eclipse.ui.views: 允许插件将视图添加到工作台中
org.eclipse.ui.editors: 将编辑器添加到工作台中
org.eclipse.ui.popupMenus: 允许插件添加到其他视图和编辑器的上下文菜单中
org.eclipse.ui.actionSets: 向工作台菜单和工具类添加菜单、菜单项和工具栏项
org.eclipse.ui.viewActions: 给工作台中已存在的视图添加行为
org.eclipse.ui.editorActions: 编辑器活动时,允许向工作台菜单和工具栏添加条目

编辑器类

AbstractTextEditor类:基于文本的编辑器抽象类,实现了基本的剪切、拷贝、粘帖等
MultiEditor类:该类在一个GUI组件中合并了不同的编辑器,当开发者需要使用不同类型的编辑器显示同一个资源模型时,可以使用这个类
MultiPageEditorPart类:该类用来实现多页面编辑器,每个页面包含自己的编辑器
FormEditor类:继承了MultiPageEditorPart类,用来实现基于表格的编辑器,子类必须实现addPages()方法来为FormEditor填充编辑器页面

创建透视图

首先创建透视图扩展点(org.eclipse.ui.perspectives),然后通过创建一个实现IPerspectiveFactory接口的Java类来描述透视图的布局

首选项

首先创建扩展(org.eclipse.preferencePages),并创建相应的代码

创建帮助

创建org.eclipse.help.toc 扩展点,创建toc文件。

创建备忘录

创建备忘录扩展点(org.eclipse.ui.cheatsheets.cheatSheetContent)


网站公告

今日签到

点亮在社区的每一天
去签到