一、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. 《高性能Mysql》翻译错误

    原文中在分区表中的一句话翻译错误,如下 应该是[扫描列a上的索引就需要扫描每一个分区内对应的索引树],英文版描述如下: ''' Suppose you define an index on a and ...

  2. 从jsp页面到servlet传值的不同方式

    1.利用超链接<a></a>来传递参数 例如: <td><a href="/month811/Servlet?id=${student.id}&am ...

  3. sublime text 的小细节设置,让你的代码更优美

    这些属性都可以在 首选项>设置-默认 里修改下面也会介绍几个比较常用的几个插件 字体大小: "font_size": 17 高亮编辑中的一行 "highlight_ ...

  4. MySQL 内建函数

    日期相关 mysql> select curdate(),curtime(),now(),unix_timestamp(),week('2017-07-24'),year('2017-07-24 ...

  5. SpringMVC表单中post请求转换为put或delete请求

    1.在web.xml文件中配置  <!-- HiddenHttpMethodFilter过滤器可以将POST请求转化为put请求和delete请求! -->    <filter&g ...

  6. 关于Eclipse启动报错,jvm版本不匹配的问题

    前几天重新下了个eclipse,eclipse需要java环境才能运行起来,我当时电脑上自己装了jdk1.8,然后直接运行新下载的eclipse,说我的jvm版本是1.6,但是我不记得安装过1.6的了 ...

  7. SSE图像算法优化系列十一:使用FFT变换实现图像卷积。

    本文重点主要不在于FFT的SSE优化,而在于使用FFT实现快速卷积的相关技巧和过程. 关于FFT变换,有很多参考的代码,特别是对于长度为2的整数次幂的序列,实现起来也是非常简易的,而对于非2次幂的序列 ...

  8. jquery的2.0.3版本源码系列(3):96行-283行,给JQ对象,添加一些方法和属性

    jquery是面向对象的程序,面向对象就离不开方法和属性. 方法的简化 jQuery.fn=jQuery.prototype={ jquery: 版本 constructor: 修正指向问题 init ...

  9. Django创建模板、URL模式、创建视图函数

    1.在应用目录下创建模板(templates目录) 在模板目录下创建archive.html <!DOCTYPE html> <html lang="en"> ...

  10. 设置input的placeholder样式

    自定义input默认placeholder样式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 inpu ...