一、MessageDialog  
    ,MessageDialog的用法很简单

MessageDialog.openInfomation(shell,title,message);  
    MessageDialog.openConfirm(shell,title,message);  
    MessageDialog.openQuestion(shell,title,message);  
    MessageDialog.openError(shell,title,message);

  2,这四个的不同之处有三点:  
                               提示的图标、     显示的按钮、         返回值  
   openInfomation     类似i的图标       一个确定           void 
   openConfirm        问号图标         确定和取消          boolean 
   openQuestion       问号图标         是和否              boolean 
   openError         一个X的图标       确定               void

最后说一下,MessageDialog的大小不能根据内容自动调整,对于少量提示信息的时候显得大了些。

,InputDialog输入的dialog  
   使用方法:  
   InputDialog inputDialog = new InputDialog(shell,"标题","提示信息","默认值",null);  
  if(inputDialog.open() == InputDialog.OK){
        String value = dialog.getValue();  
   }

注意最后一个参数是"验证器",如果想验证数据可以提供一个验证器,并在这里使用。验证其的写法:  
   public class MyValidator implements IInputValidaor{  
       public String isValid(String newText){  
           float value = 0;  
           try{  
                value = Float.valueOf(newText).floatValue();  
            }catch(NumberFormatException e){  
               return "错误:请输入数值";  
            }  
           if(value>0 && value<100){  
               return null;  
            }else{  
               return "错误:请输入大于0,小于100的数";  
            }  
        }  
   }

  然后改写定义语句为  
   InputDialog inputDialog = new InputDialog(shell,"标题","提示信息","默认值",new MyValidator());

 二、上边说了MessageDialog不能自动调整大小,那什么能自动调整大小呢?答案是MessageBox.  
   同样继承自Dialog.  

1,使用方法:MessageBox的使用方法稍微复杂,需要3句  
   MessageBox mb = new MessageBox(shell);  
   mb.setMessage("提示信息");  
   mb.open();  
  2,MessageBox同样可以控制图标和按钮数  
   是通过new的时候加入式样来实现的,例如  
   MessageBox mb = new MessageBox(shell,SWT._ICON_QUEST|SWT.YES|SWT.NO);  
    
   做过SWT开发的人对这种格式应该不陌生,到处都是。

图标的种类:  
   SWT.ICON_ERROR  
   SWT.ICON_INFORMATION  
   SWT.ICON_QUESTION  
   SWT.ICON_WARNING  
    
   按钮的组合:  
   SWT.OK  
   SWT.OK|SWT.CANCEL  
   SWT.YES|SWT.NO  
   SWT.YES|SWT.NO|SWT.CANCEL  
   SWT.RETRY|SWT.CANCEL  
   SWT.ABORT|SWT.RETRY|SWT.IGNORE  
   仔细看一下就是我们平时经常看到的各种对话框。

三、颜色选择对话框  
   不多说,使用方法几乎在swt中遍地都是的用法。  
   ColorDialog dialog = new ColorDialog(shell);  
RGB rgb = dialog.open();
   if(rgb != null){  
        Color color = new Color(shell.getDisplay(),rgb);  
   }

  注意color使用过后要dispose();  
   四、字体选择对话框  
   有了上边的一些经验其实在有eclipse这种编辑器的帮助下猜着就可以写了  
   FontDialog dialog = new FontDialog(shell);  
   FontData fontData = dialog.open();  
   if (fontDate != null){  
        Font font = new Font(shell.getDisplay(),fontData);  
   }  
    
   同样在结束后font.dispose();

五、打印对话框,同上的使用方法,同上的需要dispose  
   PrintDialog dialog = ,实现方法  
   FileDialog dialog = ,如果想选择多个文件,加上SWT.MULTI  
   FileDialog dialog = ,保存对话框  
  保存对话框并不提供保存功能,这个需要自己实现,它只提供界面,并得到用户选择的目录和输入的文件名  
  FileDialog dialog = new FileDialog(shell,SWT.SAVE);  
  String fileName = dialog.open();  
  注:保存对话框并不提供保存功能,这个需要自己实现,它只提供界面,并得到用户选择的目录和输入的文件名

文章来自:

http://i-421-163-com.iteye.com/blog/562917

【转】SWT/JFace的对话框的更多相关文章

  1. paip.java gui swt/jface 最佳实践

    paip.java gui swt/jface 最佳实践 1. 工具:Eclipse +jigloo4 1 2. 安装插件: 1 1. IMPORT swt lib 2 2. 新建立窗体 2 3. 运 ...

  2. MyEclipse中配置SWT/JFace/SWT-Designer 艰辛路程

    我最近受一个老师所托,写一个小系统,为了更加熟练使用Java,我决定用Java写一个PC软件. 我是一个比较追求完美的孩子,所以虽然老师对界面没啥要求,但是为了加快速度和界面美观,果断选择SWT/JF ...

  3. SWT, JFace必须的jar包和有可能会用到的jar

    先附上一篇转载的, 转自CSDN, 原文地址:http://blog.csdn.net/nabber/article/details/1879511 如果阁下看到了这篇文章,估计你已经碰到了这样的困那 ...

  4. 简介SWT Jface

    可以使用标准窗口小部件工具箱(Standard Widget Toolkit,SWT)和 JFace 库来开发用于 Eclipse 环境的图形用户界面,而且还可以将它们用于开发单独的 GUI 本机应用 ...

  5. 使SWT/JFace支持跨平台

    由于SWT的实现机制,在不同平台下,必须引用不同swt*.jar. 由于这个瓶颈,我们要为不同的平台编译不同的版本.但是这是可以避免的.这将是本文要讨论的内容. 我一共google到了3种soluti ...

  6. SWT/JFace开发遇到org.eclipse.core.runtime.IProgressMonitor问题的解决办法(转载)

    今日正在使用SWT和JFace开发一个系统,在搭建JFace平台时遇到了一个问题,运行HelloWorld程序抛出org.eclipse.core.runtime.IProgressMonitor的n ...

  7. SWT JFace 小制作 文本阅读器

    1 package swt_jface.demo11; 2 import java.io.File; 3 import java.io.FileInputStream; 4 import java.i ...

  8. 关于SWT/JFace的事件模型的四种方式

    事件的4种写法 1.匿名内部类方式的写法 2.命名内部类的写法 3.外部类写法 4.实现监听接口的写法 第一种用匿名内部类的方法: public class HelloWorld { private ...

  9. 关于SWT/JFace的API文档

    在CSDN上下了几个CHM格式的文档,下载的时候要付的分数还挺高,但是下载下来三个都不能用,左边罗列了所有的类和方法.双击按回车右边都没有内容. 真坑爹. >>>>>&g ...

随机推荐

  1. Android笔记: 播放提示音 的简单方法

    public static void sendSound(Context mContext) { //上下文 Uri mUri= RingtoneManager.getDefaultUri(Ringt ...

  2. Jquery笔记之第二天

    Jquery笔记之第二天 jQuery - 获取内容和属性 获得内容 - text().html() 以及 val() <script> $(document).ready(functio ...

  3. 【pac4j】OAuth 认证机制 入门篇

    1,pac4j是什么? pac4j是一个支持多种支持多种协议的身份认证的Java客户端. 2,pac4j的12种客户端认证机制:目前我只有用过第一和第八种. OAuth (1.0 & 2.0) ...

  4. Python 的经典入门书籍有哪些?

    是不是很多人跟你说,学Python开发就该老老实实地找书来看,再配合死命敲代码?电脑有了,软件也有了,心也收回来了?万事俱备,唯独只欠书籍?没找到到合适的书籍?可以看看这些. 1.Python基础教程 ...

  5. 即时通信系统Openfire分析之四:消息路由

    两个人的孤独 两个人的孤独,大抵是,你每发出去一句话,都要经由无数网络.由几百个计算机处理后,出在他的面前,而他就在你不远处. 连接管理之后 Openfire使用MINA网络框架,并设置Connect ...

  6. adb 安装apk 报错:Failure [INSTALL_FAILED_ALREADY_EXISTS]

    遇到INSTALL_FAILED_ALREADY_EXISTS问题,直接通过adb install -r xxx.apk命令安装apk即可

  7. java匿名内部类举例

    public class Test { public static void main(String[] args) { //4.匿名内部类 //主要是针对那些不能直接创建对象的抽象类和接口而来的 S ...

  8. JMockit使用总结

    Jmockit可以做什么 使用JMockit API来mock被依赖的代码,从而进行隔离测试. 类级别整体mock和部分方法重写 实例级别整体mock和部分mock mock静态方法.私有变量.局部方 ...

  9. MySql数据库导入导出

    1.导出整个数据库     mysqldump -u 用户名 -p 数据库名 > 存放位置     比如:     mysqldump -u root -p project > c:/a. ...

  10. Linux平台 Oracle 12cR2 RAC安装Part3:DB安装

    Linux平台 Oracle 12cR2 RAC安装Part3:DB安装 四.DB(Database)安装 4.1 解压DB的安装包 4.2 DB软件安装 4.3 ASMCA创建磁盘组 4.4 DBC ...