用WindowBuilder编写SWT 桌面应用程序

2023-10-25 10:49

本文主要是介绍用WindowBuilder编写SWT 桌面应用程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

WindowBuilder是一款基于Eclipse平台的双向Java的GUI设计插件式的软件。它具备SWT/JFACE开发、Swing开发及GWT 开发三大功能,是一款不可多得的Java体系中的WYSIWYG工具。

1 安装WindowBuilder

 可以从http://download.csdn.net/detail/sahusoft/9571016 ,下载安装包。然后就是按照eclipse安装插件的形式安装即可。即: Help/ Install New Software...

2 创建项目

File/New/Other..






在Design窗口中,你可以使用拖拽的方式很容易的使用各种部件。



3 设置布局

SWT库中几个典型的布局有”FillLayout, RowLayout, GridLayout

3.1 FillLayout

FillLayout fillLayout = new FillLayout();
fillLayout.type = SWT.VERTICAL;
shell.setLayout(fillLayout);



用WindowBuilder的话,鼠标点击在你要设置的组件的上,然后右键有个setLayout的选项,然后选择你要设置的类型即可。

Source下的源码如下:

FillLayoutExample.java

package org.o7planning.tutorial.swt.layout;import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;public class FillLayoutExample {public static void main(String[] args) {Display display = new Display();final Shell shell = new Shell(display);shell.setLayout(new FillLayout());//Composite parent = new Composite(shell, SWT.NONE);FillLayout fillLayout= new FillLayout();fillLayout.type= SWT.VERTICAL;parent.setLayout(fillLayout);Button b1 = new Button(parent, SWT.NONE);b1.setText("B1");Button b2 = new Button(parent, SWT.NONE);b2.setText("B2");Button button3 = new Button(parent, SWT.NONE);button3.setText("Button 3");// Windows back to natural size.shell.pack();//shell.open();while (!shell.isDisposed()) {if (!display.readAndDispatch())display.sleep();}// tear down the SWT windowdisplay.dispose();}
}

运行结果:


3.2 RowLayout

属性的配置如下:




3.3 GridLayout

GridLayout使用频率最大。配置参数



如果需要最大化自适应啥的,课通过设置LayoutData实现。



这篇关于用WindowBuilder编写SWT 桌面应用程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/282042

相关文章

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte

如何编写Linux PCIe设备驱动器 之二

如何编写Linux PCIe设备驱动器 之二 功能(capability)集功能(capability)APIs通过pci_bus_read_config完成功能存取功能APIs参数pos常量值PCI功能结构 PCI功能IDMSI功能电源功率管理功能 功能(capability)集 功能(capability)APIs int pcie_capability_read_wo

Wondows dos下怎么编写bat批处理文件

最近搞php,在运行时,以Nginx+php-cgi.exe方式运行Wordpress项目 打开dos,先cd到php-cgi.exe文件当前目录下执行启动命令:php-cgi.exe -b 127.0.0.1:9001再打开一个dos,再cd到nginx.exe文件当前目录下执行启动命令:start nginx 大概过程要经过这些步骤,觉得很麻烦,就学下怎么编写一个bat文件,以双击运行代替

Python知识点:如何使用Python开发桌面应用(Tkinter、PyQt)

Python 提供了多个库来开发桌面应用程序,其中最常见的两个是 Tkinter 和 PyQt。这两者各有优点,选择取决于你的需求。以下我会介绍如何使用 Tkinter 和 PyQt 开发简单的桌面应用程序。 1. 使用 Tkinter 开发桌面应用 Tkinter 是 Python 的标准库,它非常轻量级且跨平台。它适合开发简单的桌面应用,入门较容易。 安装 Tkinter Tkinte

用Python编写倒计时程序:详细教程

目录 引言 环境准备 基本概念 代码实现 步骤一:导入必要的库 步骤二:获取用户输入 步骤三:实现倒计时逻辑 步骤四:整合代码 运行程序 高级功能 扩展功能示例:支持分钟和小时输入 扩展功能示例:图形用户界面 (GUI) 总结 引言 倒计时程序是一个非常常见的小工具,广泛用于各种应用场景中,例如考试时间提醒、烹饪计时器、会议倒计时等。Python 作为一种

Java Web应用程序的推荐目录结构

以前没有用过maven管理过项目的依赖,最后使用上了maven,发现通过不能方式建立出来的web应用程序目录结构基本都不一样,既然每次都要到网上搜索如何建立maven管理的Web应用程序,不如自己找百度谷歌一下。 找了半天 ,感觉比较好的maven管理的web应用程序目录结构是这个: ├── pom.xml└── src├── main│ ├── java│ │ └── myg

一不小心给桌面粘贴了1280个文件怎么办?

搞了一下午很混乱,慌乱中不小心将一个文件夹里的1280个包粘贴在了桌面上,         完后都没有撤销粘贴这个鼠标右键功能,反而还可以再粘贴。         很懵逼,只能把桌面上可以看见的多余文件删除,那么看不见的呢又拽不出来。         同时发现刷新桌面会很有明显的卡顿,说明那些文件确实还存在着,比之前的响应速度慢多了。         苦逼中去百度了一下然而

【Spring boot】编写代码及测试用例入门之 Hello Spring boot _踩坑记

先贴下目录: 这是我从 start.spring.io 里下载的依赖Web的模板 // DemoApplication.javapackage com.abloume.springboot.blog.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autocon

windows下使用vscode编写运行以及调试C/C++

vscode支持类似于vs的断点调试c/c++,也可以直接编译&运行c/c++ 先是编译运行 c/c++的方法                              微软官方起初设定的科学做法(这也是现在的科学做法)是通过在vscode集成控制台写命令行的方式来实现编译运行程序的,但也可以通过code runner插件来简化步骤,实现一键编译执行 但无论是什么方法,因为vscod

Python编写简单登录系统的完整指南

在现代应用中,用户认证和登录系统是一个非常重要的功能。通过登录系统,应用能够识别用户的身份,并为其提供相应的权限和服务。本文将介绍如何使用Python编写一个简单的登录系统,包括用户注册、登录验证、密码加密等功能。通过这一教程,将学习如何构建一个基本的用户登录系统,并理解其中的关键技术。 这里插播一条粉丝福利,如果你在学习Python或者有计划学习Python,想在未来人工智能领域吃上一口饭的,