开发基于Java的图形用户界面

SWT(Standard Widget Toolkit)是IBM推出的“基于java”的图形界面开发库,我之所以说它是“基于java”的意思是程序员编写代码的时候是使用java语言,事实上SWT的底层实现是C语言完成的。但是这些对程序员是透明的。

  我们使用SWT开发GUI程序的时候,直接用SWT API来写。事实上很多java的代码是通过JNI去掉用C代码来实现的。针对不同的平台每个类有不同的实现方式,这篇文章的目的不在于讲述SWT的设计原理,如果你对这些感兴趣的话可以参考http://www.eclipse.org/articles/Article-SWT-Design-1/SWT-Design-1.html。

  下面开始介绍如何使用SWT,首先我假设你已经安装了Eclipse3.0,当然其他的版本也可以,如果还没有的话从www.eclipse.org上去下载。

  运行Eclipse,切换到java透视图下面,从Package explore里面新建一个java project。名称为Test。

  在Libraries里面选择Add external JARs来添加运行SWT所需要的类库,这个和系统相关的,比如我在windows xp下,地址为:D:eclipsepluginsorg.eclipse.swt.win32_3.0.0wswin32swt.jar。把它添加进来,建议做一个variables指向这个swt.jar文件,以后直接添加variables就可以了。

  编写java代码,例如

  import org.eclipse.swt.widgets.*;
  import org.eclipse.swt.*;
  public class SWTHello {
  public static void main(String[] args) {
  Display display = new Display();
  Shell shell = new Shell(display);
  Label label = new Label(shell, SWT.NONE);
  label.setText("Hello, World!");
  shell.pack();
  label.pack();
  shell.open();
  while(!shell.isDisposed())
   if(!display.readAndDispatch())
    display.sleep();
    display.dispose();
    label.dispose();
  }
  }

  配置运行环境,由于SWT程序运行的时候要用到本机资源,如果你现在运行上面的程序的时候会出现错误,类似于java.lang.UnsatisfiedLinkError: no swt-win32-2133 in java.library.path”,因此你必须指定所需的DLL的位置,具体做法是:从菜单run->run切换到运行配置界面,选择Arguments在VM Arguments里面写入-Djava.library.path=例如在我的机器上DLL的地址为D:eclipsepluginsorg.eclipse.swt.win32_3.0.0oswin32†。这样每次运行都要配置显得有点麻烦,所以建议你在环境变量PATH里面添加这个包括DLL的路径。

  运行程序,你会看到你的第一程序的效果 :) 我的感觉是挺不错的,速度要比Swing/AWT快。

  关于如何使用SWT,请参考www.eclipse.org上面的相关文章,多看看AWT API,多写一些代码!

(0)

相关推荐

  • java图形界面之布局设计

    在界面设计中,一个容器要放置许多组件,为了美观,为组件安排在容器中的位置,这就是布局设计.java.awt中定义了多种布局类,每种布局类对应一种布局的策略.常用的有以下布局类: •FlowLayout,依次放置组件. •BoarderLayout,将组件放置在边界上. •CardLayout,将组件像扑克牌一样叠放,而每次只能显示其中一个组件. •GridLayout,将显示区域按行.列划分成一个个相等的格子,组件依次放入这些格子中. •GridBagLayout,将显示区域划分成许多矩形小单元

  • 使用Java编写图形化的菜单的教程

    有两种类型的菜单:下拉式菜单和弹出式菜单.本章只讨论下拉式菜单编程方法.菜单与JComboBox和JCheckBox不同,它们在界面中是一直可见的.菜单与JComboBox的相同之处是每次只可选择一个项目. 在下拉式菜单或弹出式菜单中选择一个选项就产生一个ActionEvent事件.该事件被发送给那个选项的监视器,事件的意义由监视器解释. 菜单条.菜单和菜单项 下拉式菜单通过出现在菜单条上的名字可视化表示,菜单条(JMenuBar)通常出现在JFrame的顶部,一个菜单条显示多个下拉式菜单的名字

  • java语言图形用户登录界面代码

    本文实例为大家分享了java登录界面的具体实现代码,供大家参考,具体内容如下 1. Login.java package wzb; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.e

  • JavaWeb实现图形报表折线图的方法

    本文实例讲述了JavaWeb实现图形报表折线图的方法.分享给大家供大家参考,具体如下: 步骤说明: 1. 导入log4j.jar,jfreechart-0.9.18.jar,jdom.jar,jcommon-0.9.3.jar四个jar包 2. 在某个包中写入Tuxin.Java类 package com.mengya.util; import java.awt.Color; import java.awt.Font; import java.io.PrintWriter; import jav

  • Java图形用户界面设计(Swing)的介绍

    前言 Swing是一个用于开发Java应用程序用户界面的开发工具包.它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格.Swing开发人员只用很少的代码就可以利用Swing丰富.灵活的功能和模块化组件来创建优雅的用户界面. Swing 是一个为Java设计的GUI工具包. Swing是JAVA基础类的一部分. Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表. Swing提供许多比AWT更好的屏幕显示元素.它们用纯Java写成,所以同Java本

  • 解析Java图形化编程中的文本框和文本区

    在图形界面中,文本框和文本区是用于信息输入输出的组件. 文本框 文本框(JTextField)是界面中用于输入和输出一行文本的框.JTextField类用来建立文本框.与文本框相关的接口是ActionListener. 文本框处理程序的基本内容有以下几个方面: 声明一个文本框名. 建立一个文本框对象. 将文本框对象加入到某个容器. 对需要控制的文本框对象注册监视器,监听文本框的输入结束(即输入回车键)事件. 一个处理文本框事件的方法,完成对截获事件进行判断和处理. JTextField类的主要构

  • 第一次编写Java流布局图形界面

    本文实例为大家分享了Java流布局图形界面编写代码,供大家参考,具体内容如下 package jisuanqi; import java.awt.*; public class MyFrame extends Frame{ //继承Frame类 public MyFrame() { super("第一个图形界面"); //设置框架窗口标题 this.setSize(200, 130); //设置组件尺寸(宽,高) this.setLocation(300, 240); //设置组件的显

  • 分享java打印简单图形的实现代码

    我们平时都是使用的画图工具进行简单图形的绘制,今天我们使用java打印一些简单的图形 实现代码如下 package test; /** * * @author hanzel * @打印图形 * */ public class Array { public static void main(String[] args) { //打印长方形 int[] a = new int[10]; for(int i=0 ;i<a.length;i++){ for(int j=0;j<a.length;j++

  • java图形界面编程之模拟血压计

    复制代码 代码如下: package GraphicsCanvas; import java.awt.BorderLayout;import java.awt.Canvas;import java.awt.Color;import java.awt.Graphics;import java.awt.Image;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JBut

  • 开发基于Java的图形用户界面

    SWT(Standard Widget Toolkit)是IBM推出的"基于java"的图形界面开发库,我之所以说它是"基于java"的意思是程序员编写代码的时候是使用java语言,事实上SWT的底层实现是C语言完成的.但是这些对程序员是透明的. 我们使用SWT开发GUI程序的时候,直接用SWT API来写.事实上很多java的代码是通过JNI去掉用C代码来实现的.针对不同的平台每个类有不同的实现方式,这篇文章的目的不在于讲述SWT的设计原理,如果你对这些感兴趣的话

  • Java程序图形用户界面设计之容器JFrame

    目录 基本容器JFrame JFrame类的常用操作方法 创建窗体 Java程序设计 图形用户界面 [二] 基本容器JFrame JFrame类的常用操作方法 方法 作用 public JFrame() throws HeadlessException 创建一个普通的窗体对象 public JFrame(String title) throws HeadlessException 创建一个窗体对象,并指定标题 public void setSize(int width,int height) 设

  • Java程序图形用户界面设计之按钮与布局

    目录 按钮组件 JButton JButton类常用方法 按钮上显示图片 布局管理器 FlowLayout BorderLayout GridLayout CardLayout 绝对定位 Java程序设计 图形用户界面[四] 按钮组件 JButton JButton组件表示一个普通的按钮 JButton类常用方法 方法 作用 public JButton() throws HeadlessException 创建一个Button对象 public JButton(String label) th

  • Java程序图形用户界面设计之标签组件

    目录 标签组件JLabel 更改JLabel的文字样式 设置图片 Java程序设计 图形用户界面[三] 标签组件JLabel JLabel组件表示的是一个标签,本身是用于显示信息的,一般情况下是不能直接更改其显示内容的 常量 作用 public static final int LEFT 标签文本左对齐 public static final int CENTER 标签文本居中对齐 public static final int RIGHT 标签文本右对齐 方法 作用 public JLabel

  • Java 入门图形用户界面设计之事件处理上

    Java程序设计 图形用户界面 [七]事件处理上 事件处理 事件和监听器 事件:表示一个对象发生状态变化 监听器:不断地监听事件的变化,并根据这些事件进行相应地处理 事件类 EventObject类 EventObject类的定义格式 public class EventObject extends Object implements Serializable{ public EventObject(Object source){ // 构造一个发生事件的对象 } public Object g

  • Java 入门图形用户界面设计之事件处理下

    Java程序设计 图形用户界面 [八]事件处理下 动作事件及监听处理 想让按钮变得有意义,就必须使用事件处理 使用ActionListener接口处理按钮的动作事件 方法 作用 void actionPerformed(ActionEvent e) 发生操作时调用 使用ActionListener监听 import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.

  • Java 入门图形用户界面设计之单选按钮

    Java程序设计 图形用户界面 [九]单选按钮 单选按钮 JRadioButton JRadioButton类 方法 作用 public JRadioButton(Icon icon) 建立一个单选按钮,并指定图片 public JRadioButton(Icon icon,boolean selected) 建立一个单选按钮,并指定图片和其是否选定 public JRadioButton(String text) 建立一个单选按钮,并指定其文字,默认不选定 public JRadioButto

  • Java 入门图形用户界面设计之复选框

    Java程序设计 图形用户界面 [十]复选框 复选框JCheckBox JCheckBox类 方法 作用 public JCheckBox(Icon icon) 创建一个带图标的对象,但不选定 public JCheckBox(Icon icon,boolean selected) 创建一个带图标的对象,并指定其是否选定 public JCheckBox(String text) 创建一个带文本的对象,但不选定 public JCheckBox(String text,boolean selec

  • Java 入门图形用户界面设计之列表框JList

    目录 列表框JList 使用ListModel构造JList JList事件处理 Java程序设计 图形用户界面 [十一]列表框JList 列表框JList JList常用方法 方法 作用 public JList(ListModel dataModel) 根据ListModel构造JList public JList(Object[] listData) 根据对象数组构造JList public JList(Vector<?> listData) 根据一个Vector构造JList publ

随机推荐