一、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. CSS小随笔(三)浮动与定位

    先来说一下CSS中的浮动 一.浮动 1.标准流中的块级盒子,宽度将自动伸展为100%,而浮动的块级盒子,宽度不会自动伸展,而是由内容撑开 2.当一个盒子浮动,标准流中未浮动的其他盒子,将视浮动盒子不存 ...

  2. Win7系统如何复制CMD命令提示符框中的内容

    Win7系统如何复制CMD命令提示符框中的内容.. Win7系统如何复制CMD命令提示符框中的内容右键命令提示符窗口的标题栏,选择属性. 选择“编辑选项”里的“快速编辑模式”,并确定: 鼠标左键按下选 ...

  3. 《Java从入门到放弃》JavaSE篇:综合练习——单身狗租赁系统(数组版)

    因为现在只学习了基本语法,所以在综合练习之前,先补充关于方法概念. 方法的作用:把一系列的代码放在一起,然后再取个别名.之后通过这个别名的调用,就相当于执行了这一系列的代码. 方法的语法:([]中的内 ...

  4. 使用webpack-dev-middleware 和 webpack-hot-middleware 配置一个dev-server

    关于Webpack的资料教程网上已经数不胜数,但是对手动配置一个Express server的确不多,于是我对此进行着重的了解一番. webpack-dev-middleware和webpack-ho ...

  5. Spring框架Controller层(表现层)针对方法参数是Bean时HttpServletRequest绑定参数值问题解释

    在做项目的时候,有一个需求是将数据库中的信息封装到实体类返回到jsp界面 传过来的参数只是实体类的id属性,然后根据id属性去查数据库,事情就是这样,然后 结果遇到很奇怪的事情,在jsp页面中使用EL ...

  6. [C]字符串排序之-冒泡法

    在oj刷题,遇见一题字符串排序题. 脑海里瞬间闪过数组排序. 思路有了,打开题解看看别人的思路,发现好多人的排序方法显得比较臃肿,可能也是我的水平不够,欣赏不来吧. 不过用冒泡法排序的时候一定要记得字 ...

  7. 使用CXF开发JAX-WS类型的WebService

    使用CXF记得要先加入CXF的jar包 方法1: Cxf编程实现: l 使用jaxwsServerFactoryBean发布 webservice服务端. 需要设置: jaxwsServerFacto ...

  8. 1000以内完全数(完美数)获取实现---基于python

    """题目: 如果一个数恰好等于它的因子之和,则称该数为"完全数" .各个小于它的约数(真约数,列出某数的约数,去掉该数本身,剩下的就是它的真约数)的 ...

  9. 第3阶段——内核启动分析之make menuconfig内核配置(2)

    目标: 分析make menuconfig内核配置过程 在上1小结中(内核编译试验)讲到了3种不同的配置: (1)通过make menuconfig 直接从头到尾配置.config文件 (2) 通过m ...

  10. 最近做了一个通达OA的大料:20170905最新版本破解可改单位名称,无限制安装

    最近做了一个通达OA的大料:20170905最新版本破解可改单位名称,无限制安装 用户约七十家,总体不错,修改了两次注册授权文件,完美使用中 可联系麦枫http://www.mfsun.com管理员Q ...