swt4-gtk:基于 GTK 的跨平台 GUI 库项目

可用于开发 JVM 桌面应用的图形用户界面,提供跨平台支持,核心功能包括窗口组件、布局管理和事件处理,是 Eclipse 等知名应用的 GUI 基础库。【此简介由AI生成】

分支1Tags0
文件最后提交记录最后更新时间
3 年前
1 年前
1 年前
1 年前
1 年前
1 年前
1 年前
1 年前
1 年前
1 年前
1 年前
1 年前
1 年前
1 年前
3 年前
1 年前
1 年前
1 年前
1 年前

SWT 矩阵构建 SWT 矩阵测试

关于

SWT 是一个跨平台的 GUI 库,适用于基于 JVM 的桌面应用程序。 最著名的基于 SWT 的应用程序是 Eclipse

快速开始

SWT 提供了平台特定的 jar 文件。 从 https://download.eclipse.org/eclipse/downloads/index.html 下载,并将 jar 文件添加到您的类路径中。

示例

示例

import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

public class HelloWorld {

	public static void main(String[] args) {
		final Display display = new Display();

		final Shell shell = new Shell(display);
		shell.setText("Hello World");
		shell.setLayout(new GridLayout(2, false));

		final Label label = new Label(shell, SWT.LEFT);
		label.setText("Your &Name:");
		label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));

		final Text text = new Text(shell, SWT.BORDER | SWT.SINGLE);
		final GridData data = new GridData(SWT.FILL, SWT.CENTER, true, false);
		data.minimumWidth = 120;
		text.setLayoutData(data);

		final Button button = new Button(shell, SWT.PUSH);
		button.setText("Say Hello");
		shell.setDefaultButton(button);
		button.setLayoutData(new GridData(SWT.END, SWT.CENTER, false, false, 2, 1));

		final Label output = new Label(shell, SWT.CENTER);
		output.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));

		button.addListener(SWT.Selection, event -> {
			String name = text.getText().trim();
			if (name.length() == 0) {
				name = "world";
			}
			output.setText("Hello " + name + "!");
		});

		shell.setSize(shell.computeSize(SWT.DEFAULT, SWT.DEFAULT));
		shell.open();

		while (!shell.isDisposed()) {
			if (!display.readAndDispatch()) {
				display.sleep();
			}
		}

		display.dispose();
	}
}

首先,创建一个Display,它是所有GUI相关代码的核心枢纽。
接着,创建一个Shell,在本例中即顶层窗口。
随后构建所有子控件及其监听器,包括布局信息。
最终,我们根据子控件自动计算窗口尺寸并显示窗口。
while循环持续处理所有GUI事件,直至窗口关闭触发释放操作。
退出前需释放所有占用的GUI资源。

参与SWT开发

感谢您对本项目的关注。

通用Eclipse平台贡献指南请参阅:
https://github.com/eclipse-platform/.github/blob/main/CONTRIBUTING.md

开发者资源:

以下说明如何为SWT贡献功能或修复错误:

源代码管理、构建流程、编码规范等信息可通过以下链接获取:

贡献者许可协议:

提交贡献前,需签署Eclipse基金会贡献者许可协议(CLA):

联系渠道:

通过项目开发者邮件列表联系:

缺陷查询:

SWT历史开发问题记录于Bugzilla:

提交新缺陷:

可通过Github问题跟踪器提交缺陷和功能请求。我们始终欢迎贡献!

请注意本项目主要由志愿者维护。若您不自行提供实现方案(或委托他人实现),问题可能长期无法解决。对于严重缺陷,可能会有其他贡献者介入修复。

项目介绍

可用于开发 JVM 桌面应用的图形用户界面,提供跨平台支持,核心功能包括窗口组件、布局管理和事件处理,是 Eclipse 等知名应用的 GUI 基础库。【此简介由AI生成】

定制我的领域