一、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. jenkins 多选框

    背景jenkins自带的参数化不支持多选框,不过有插件支持:Extended Choice Parameter Plug-In插件地址: https://plugins.jenkins.io/exte ...

  2. Oracle 与Mysql区别

    1.组函数用法规则 mysql中组函数在select语句中可以随意使用,但在oracle中如果查询语句中有组函数,那其他列名必须是组函数处理过的,或者是group by子句中的列否则报错 eg: se ...

  3. 第一天的Python之路 笔记

     打了***号的都是老师要求明天早上默写的  编程语言的作用(程序员使用的编程语言达到命令电脑工作的目的)及与操作系统和硬件的关系(编程 语言用来开发软件,软件基于操作系统之上,操作系统又基于硬件之上 ...

  4. windows server 2012 + sql server 2008 r2安装

    windows server 2012 r2  里面安装 sql server 2008 r2 问题总结 前提是 windows server 2012 r2 已经安装完成  ,(仅仅是安装完成 啥服 ...

  5. Ext.Msg.alert添加确定按钮

    Ext.Msg.alert('成功','成功!!', function(btn){ if(btn!=null{//btn=='ok'||btn=='cancel' ... } });

  6. appium python api收集

    1.contexts contexts(self): Returns the contexts within the current session. 返回当前会话中的上下文,使用后可以识别H5页面的 ...

  7. 微信iOS收款到账语音提醒开发总结

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/yYCaPMxHGT9LyRyAPewVWQ 作者:l ...

  8. .Netcore之日志组件Log4net、Nlog性能比较

    转载请注明出处http://www.cnblogs.com/supernebula/p/7506993.html .Netcore之Log4net.Nlog性能比较 最近在写一个开源.netcore ...

  9. 通过官网找到spring的jar包

    1.官网为:https://spring.io/ 2.打开之后,点击:PROJECTS,如图所示: 3.点击第三个:SPRING FRAMEWORK,如图所示: 4.进入之后,找到features,点 ...

  10. docker的简单搭建(java/tomcat 环境)

    1.一副图简单了解下docker的布局,它是虚拟的,docker分为私服.镜像.容器三个模块 一般从私服pull镜像,镜像run一个容器,我们把容器作为一个虚拟服务,里面可以独立运行进程有独立的内网I ...