一个简单的SWT程序实例及详解-Java基础-Java-编程开发

查看电脑mac地址+主机名+用户名并导出 张三:李四,应公司要求,今天下班前必须将这张表格里面用户电脑的mac地址统计出来!李四:我该怎么办呢?一个一个查看,太没有效率了吧!对了,我可以做一个bat脚本啊! 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

让我们从简单的 HelloWorld 应用程序开始。

一、将SWT添加到工程的类路径中

首先建立一个java工程。在开始使用SWT之前,需要将SWT库文件添加到工程的类路径中。步骤如下:

1. 下载SWT。在Eclipse SDK的下载页面中,提供了独立版本的SWT下载。找到标有SWT Binary and Source 的栏目。下载适合你操作系统的版本,不用解压,直接保存到硬盘中。

2. 在Eclipse菜单栏,选择File-〉Import...打开导入向导

3. 选择Existing Projects into Workspace ,点击Next按钮

4. 选择 Select archive file并使用 Browse...按钮来找到你刚才下载的SWT文件。

5. 点击Finish按钮,完成SWT导入。

6. 右键点击你建立的工程,选择Properties 来打开Properties对话框。

7. 选择 Java Build Path tab并点击Add按钮. -> Projects

8. 选择 org.eclipse.swt工程, 点击 OK,完成添加SWT库到你的工程中(见图1).

图 1

二、 SWT 代码

现在在你建立的java工程中,新建一个java文件,取名为 HelloWorld。在HelloWorld.java文件中把main()方法覆盖为以下代码:

1 public static void main(String[] args) {
2 Display display = new Display();
3 Shell shell = new Shell(display);
4 shell.setText( " Hello World " );
5 shell.setBounds( 100 , 100 , 200 , 50 );
6 shell.setLayout( new FillLayout());
7 Label label = new Label(shell, SWT.CENTER);
8 label.setText( " Hello World " );
9 Color red = new Color(display, 255 , 0 , 0 );
10 label.setForeground(red);
11 shell.open();
12 while ( ! shell.isDisposed()) {
13 if ( ! display.readAndDispatch()) display.sleep();
14 }
15 red.dispose();
16 display.dispose();
17 }

注:

在覆盖了上述代码后, 选择菜单栏中的 Source -> Organize Imports命令 (或者按Ctrl Shift O) 来把需要引用的SWT包导入到HelloWorld.java文件中 。

以下是对各行代码的详细解释:

第2行:每个基于SWT的应用程序都有一个Display类的实例。用来将低层平台和SWT进行链接。除了管理SWT的事件循环,还能访问SWT需要的平台资源。在16行,display实例将会提交给垃圾收集器。

第3行:每一个窗口都有一个Shell窗口框架,来与用户进行交互。Shell像所有的windows系统一样来处理动作行为,并作为窗口控件的放置场所。

第4行: setText()方法设置窗口的标题.

第5行: setBounds() 方法设置窗口的大小和放置的位置. 在这个例子中, 设置窗口为200个像素宽,50个像素高,并放在离屏幕的左上角100x100像素的位置上。

第6行: setLayout()方法 设置窗口框架的布局. FillLayout,充满式布局管理器,使得组件大小会尽量的充满整个容器.SWT的布局管理器会在以后详细介绍。

第7行:在shell上新建一个简单的label组件并居中显示label的文本内容。

第8行: setText() 方法 设置label的文本内容。

第9行:创建一个红色的颜色类的实例。你也可以使用以下语句获得系统红色的实例:

Color red = display.getSystemColor(SWT.COLOR_RED);

第10行: setForeground() 方法 设置label的前景色

第11行:到目前为止,窗口框架还是不可见的。通过open()方法使得窗口可见。

第12行: while语句循环检测窗口有没有关闭。

第13行:display 控制事件的循环. readAndDispatch() 方法从平台的事件队列中读取事件,并分配他们到合适的处理程序(接收者)。只要队列中一直有事件可以处理,这个方法一直返回true,当事件队列为空时,则返回false(因此允许用户界面UI线程出于sleep状态直到事件队列不为空)。

第15,16行:当循环检测到窗口被关闭时,需要将color,display和一些相关联的平台资源释放。注意到系统颜色实例(colors)将会被提交释放。

二、 运行这个例子

通常情况下,为了启动一个java应用程序,会使用Run As -〉 Java Application 命令。在这里,如此运行将会抛出 UnsatisfiedLinkError 异常,说明没有找到 SWT 的本地库。如果运行 Run As > SWT Application 命令,将会弹出 SWT 启动配置窗口,见图 2 ,在图 2 中可以点击 run 按钮。

图 2

点击 run ,运行结果图 3 。

图 3

AI应用架构师总结:智能问答系统用户意图识别的8种方法与实践! 意图识别是智能问答系统的大脑入口,其技术水平决定了系统能否准确捕捉用户的核心诉求。本文系统剖析了从基础规则到前沿PLM的8种核心意图识别方法透明简单,冷启动快,维护成本高。中等规模场景基线,依赖特征工程。利用词义和局部/序列信息,训练成本高。当前最优精度,需大量资源。添加意图灵活,冷启动友好,精度可能略逊。提升鲁棒性,系统变复杂。解决歧义和自然交互的关键(多轮)。增强专业领域理解和推理能力。成功的意图识别模块需要:精准的意图定义(Schema)是前提! 阅读详情

相关推荐

全面探索SWT/JFace:Java GUI编程

本文还有配套的精品资源,点击获取 简介:本文详细介绍了SWT和JFace,这是Eclipse项目中的两个Java GUI编程库。SWT提供了一个与原生控件交互的用户界面,并通过JNI提高性能。JFace则在SWT之上增加了一层抽象,简化了GUI编程,并引入了数据绑定和MVC架构等概念。文章将覆盖基础控件使用、布局管理、事件处理以及如何进行高级主题的学习,例如集成SWT和JF...

weixin_42298164的博客 996

运行java SWT例子

1.在http://download.eclipse.org/eclipse/downloads页面下载jar包; 2.建议选择编译好的稳定版本; 3.选择“Example Plug-ins”进行下载; 4.解压缩下载的文件,将“eclipse/plugins/org.eclipse.swt.examples.<exampleName>.source_<version>.jar”复制到Eclipse安装文件的“plugins”文件夹下; 5.重启Eclipse,依次选择:“窗口”-》“显示视图”-》“其他”

蔡先生的专栏 3020

Java SWT详解与安装指南

Java的世界里,SWT(Standard Widget Toolkit)类库作为一员,扮演着图形用户界面(GUI)编程的重要角色。Java SWT起源于Eclipse项目,它的设计理念是为Java应用提供一种更接近操作系统原生组件的GUI开发方式。通过SWTJava程序员能够利用不同平台的本地GUI组件,实现跨平台应用。这与Java AWT和Swing的虚拟机上运行的UI组件有所区别,SWT的出现改变了Java图形界面编程的面貌,减少了GUI开发中的抽象层,提高了性能和用户体验。

weixin_32661831的博客 1757

Java桌面应用程序设计:SWT 简介

     Java语言的声望和它在桌面应用程序(GUI程序)所取得的成就显然极不相符,至今仍然很少能看到非常成功Java桌面程序。虽然有JBuilder, Netbean,JProbe等大型软件作为代表,但这仍不能证明Java的GUI程序是成功的:它们的外观总是和同一操作系统平台下的其它软件显得格格 不入。对机器配置的需求也似乎永无止境,这使得它们只能被一些总是拥有当前最高性能PC的程序员们所容忍

1413

JAVA Swt初识

&lt;style&gt; &lt;!-- .article {padding:1em; background:white} .abstract {padding:1em 1ex 1em 2em} .author, .date {padding:0.5ex 0 0 0} h1.title, h2.major, h3.minor, h3.listing {margin:...

java开发指南博客 【转载】 891

JavaGUI之SWT框架【面板容器类 选项卡TabFolder】

CTabFolder的功能要比TabFolder更加强大, 但创建方式几乎一样. 不同的是组件创建前都加了一个C创建效果当窗口大小过小时, 自动产生的效果.设置方式描述样式SWT.BOTTOM底部显示SWT.CLOSE关闭最小化 最小化SWT.BORDER边框tip: 最大化,最小化设置后,仅仅可见相应按钮. 如果不配置相应触发事件, 点击后不会有任何的效果被触发。

qq_62835094的博客 2092

java 开发swt_一个java swt桌面程序开发到打包的总结(1)(收集)

--概述与关于swt的问题一、概述:几天一直在用金山打字通练习英语(本人英语比较烂),把金山打字能里面的文章全部掠了N遍。打的没意思了,想想怎么能添加一些外部文件,发现金山打字通自带的外部文件导入,太坑了,得往里面手工复制内容。看了下面的图就知道效率不高吧。我就想自己写一个能够批量导入的小软件,虽然小,可是五脏俱全。(其实主要目的就是想熟悉下java se的开发) 这里主要写一下,这次写程序遇到的...

weixin_35990136的博客 977

一个简单SWT程序实例详解

本文译自《 Eclipse.Building.Commercial.Quality.Plug.ins.2nd.Edition 》第四章第二节,详细解释了 SWT 程序的语句,希望对入门者有所帮助。 让我们从简单的 HelloWorld 应用程序开始。  一、将SWT添加到工程的类路径中 首先建立一个java工程。在开始使用SWT之前,需要将SWT库文件添加到工程的类路径中。步骤

cpenet的专栏 3893

swt包下载,swt包引入(一个简单SWT程序实例详解

让我们从简单的 HelloWorld 应用程序开始。 swt包下载可以在eclipse网站上下 进到下面这个地址里http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/S-3.4M4-200712131700/swt-3.4M4-win32-win32-x86.zip点Download

hbiao的博客 5541

SWT开发Java应用程序GUI入门

第一次做了Java GUI,我选择用elipse自己的前段开发工具 SWT/JFace。这篇文章是基于eclipse MARS.2.  用SWT编写的GUI的风格如下:                                                                       1、 SWT中的一些概念1.1 Display & Shell Display 和 She

王以山的专栏 3万+

使用Eclipse进行SWT编程

使用Eclipse进行SWT编程1. 为什么要使用SWT?SWT是IBM开发一套跨平台的GUI开发框架。为什么IBM要创建另一种GUI呢?为什么他们不使用现有的Java GUI框架呢?要回答这些问题,我需要回到Java的早期时代。Sun已经创建了一套跨平台的GUI框架 AWT (Abstract Windowing Toolkit)。 这个AWT框架使用了本地窗口组件(native

一个人的精彩 9110

JavaGUI之SWT框架【Button】

按钮Button,SWT框架中常见的组件。针对Button的设置分为三个层面,分别是按钮类型按钮文字对齐风格按钮外观风格。

qq_62835094的博客 1002

Java中用swt实现界面化编程

Java中实现swt实现界面化编程,首先要导入一个架包,然后在软件里面进行配置。 通过Design里面的控件来对所需要的控件进行操作,然后在附加一定的功能。

weixin_45224165的博客 567

java创造swt_Java 使用SWT 创建COM对象

import org.eclipse.swt.SWT;import org.eclipse.swt.internal.ole.win32.COM;import org.eclipse.swt.internal.ole.win32.DISPPARAMS;import org.eclipse.swt.internal.ole.win32.EXCEPINFO;import org.eclipse.swt...

weixin_42316079的博客 226

javaswt包_org.eclipse.swt包的引入

http://blog.csdn.net/aerchi/article/details/43762535我在做Java可视化程序时,用到下面这几个包,应该怎么处理呢?:(Eclipse环境)importorg.eclipse.swt.SWT;importorg.eclipse.swt.widgets.Display;importorg.eclipse.swt.widgets.Shell;提示...

weixin_42297519的博客 1801

java swt程序_为SWT应用程序配备内容助手

创建一个HTML编辑器 内容助手的概念与JFace文本查看器的特定实现有关,该实现是org.eclipse.jface.text.source.SourceViewer类。 整个Eclipse工作台都使用此类的实例来实现各种编辑器。 但是, SourceViewers不限于Eclipse工作台,而是可以在基于SWT和JFace JAR构建的任何应用程序使用。 本文演示了在Eclipse编...

cusi77914的博客 344

java 界面 swt_Java界面 SWT 开发基础——Display and Shell

Display 基本概述与Shell 类的基本结构本次实验主要包含创建一个空白的 Display,并在其中建立 Shell 的父类,Shell 中设置按钮,通过按钮创造子窗口。此外在父窗口设置中加入了图标设置。代码来自《EclipseSWT/JFace 核心应用》清华大学出版社import org.eclipse.swt.SWT;import org.eclipse.swt.events.Sele...

weixin_39653622的博客 569

备战全国电赛,2015年全国电赛电源类——双向DC变换电源设计分享-电路方案

2017年全国电赛,还没打响就已经热度高涨了,想必大家都已经摩拳擦掌,就等开赛了,首先,祝今年参赛的同学们都能取得自己满意的成绩!将2015年参加电赛电源组——双向DC变换电源的设计原理图分享出来,有兴趣的可以先看看,了解一下相关器件什么的都是有好处的,不打无准备之仗,希望大家赛前抓住一切可以利用的资源,让自己更充实,更有信心参赛!原理图截图:附件截图:

上一篇: 你应该知道的10件关于Java 6的事情-Java基础-Java-编程开发
下一篇: Java数字签名-Java基础-Java-编程开发
java169
博客等级 码龄18年 27粉丝 2568原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值