对话框,都继承自org.eclipse.swt.widgets.Dialog,有Modal的和Modeless的区分,一般的对话框处理程序如下:

<DialogType> dlg = new <DialogType>(shell);
dlg.setSomeData(data);
<ReturnType>
returnValue = dlg.open();
if (returnValue == null) {
// User clicked
cancel
} else {
// Do something with returnValue
}

对话框主要有以下六种:

1、MessageBox,消息对话框

可定制的对话框样式包括:

标题栏:setText()

消息提示:setMessage()

消息图标类型:style属性,有:SWT.ICON_ERROR,SWT.ICON_INFORMATION,SWT.ICON_QUESTION,SWT.ICON_WARNING,SWT.ICON_WORKING

按钮类型:style属性,有: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

对话框返回值:int open(),返回的是点击的按钮对应的int值。

示例:

MessageBox messageBox = new MessageBox(shell, SWT.ICON_QUESTION |SWT.YES |
SWT.NO);
messageBox.setMessage(”Is this question simple?”);
int rc =
messageBox.open();

2、ColorDialog,选择颜色对话框

ColorDialog dlg = new ColorDialog(shell);
RGB rgb = dlg.open();
if (rgb
!= null) {
Color color = new Color(shell.getDisplay(), rgb);
}

3、DirectoryDialog,文件夹选择对话框

DirectoryDialog dlg = new
DirectoryDialog(shell);
dlg.setFilterPath(text.getText());
dlg.setText(”SWT’s
DirectoryDialog”);
dlg.setMessage(”Select a directory”);
String
selectedDirectory = dlg.open();

4、FileDialog,文件选择对话框

FileDialog dlg = new FileDialog(shell, SWT.OPEN);
String fileName =
dlg.open();
if (fileName != null) {
// Open the file
}

对话框标题栏:void setText(String text)

文件后缀名过滤:void setFilterExtensions (String[] extensions)

缺省路径及文件名:void setFilterPath(String string)

返回值:String[] getFileNames() / String getFileName()

5、FontDial

SWT的对话框们的更多相关文章

  1. Java-Eclipse插件开发学习笔记

    Eclipse插件 学习笔记 作者   Rick- Bao 开始日期  2014年8月26日 结束日期  2014年8月27日 一 . CVS(current version system) 版本控制 ...

  2. 【转】SWT/JFace的对话框

    一.MessageDialog       ,MessageDialog的用法很简单 MessageDialog.openInfomation(shell,title,message);       ...

  3. SWT的文件选择对话框I的使用

    swt文件选择框 FileDialog fileselect=new FileDialog(shell,SWT.SINGLE);                          fileselect ...

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

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

  5. 可视化(番外篇)——SWT总结

    本篇主要介绍如何在SWT下构建一个应用,如何安装SWT Designer并破解已进行SWT的可视化编程,Display以及Shell为何物.有何用,SWT中的常用组件.面板容器以及事件模型等. 1.可 ...

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

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

  7. 关于JFace的自定义对话框(Dialog类)

    仅仅是使用MessageDialog,InputDialog等JFace中现成的对话框类是无法满足实际项目开发需要的. 很多时候都需要自己定制对话框,自定义对话框只要在Dialog类的基础上作扩展就行 ...

  8. 关于JFace中的输入值(InputDialog)对话框类

    格式: InputDialog(Shell parentShell, String dialogTitle, String dialogMessage, String initialValue, In ...

  9. 关于JFace中的进度条对话框(ProgressMonitorDialog类)

    在Windows操作系统中,最常用的进度条对话框就是文件复制时的弹出框,如果想让用户愉快的使用你开发 的软件,那么在执行某个较长时间的操作时候,就应该弹出一个进度条提示框,告诉用户程序正在做什么. 做 ...

随机推荐

  1. Effective C++_笔记_条款07_为多态基类声明virtual析构函数

    (整理自Effctive C++,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 这个规则只适用于polymorphic(带多态性质的)base ...

  2. ASIO攻破!!!----转

    from:http://www.cppblog.com/shanoa/archive/2009/06/26/88606.aspx 花了足足3天时间,外加1天心情休整,终于在第5天编写出了一个能运行的基 ...

  3. poj 3082多边形相交 'Roid Rage

    题意是判断多边形是否相交 主要的思路就是判断每一个点是否在另外的多变形内 判断一个点是否在另一个多边形内主要思路是: 判断的那个点向左边做射线,如果射线与多边形的交点为奇数个则在多边形内,偶数个则不在 ...

  4. Java基础:泛型及其擦除性、不可协变性

    转载请注明出处:jiq•钦's technical Blog 1泛型语法: 泛型类: class ClassName<T>{} 泛型方法:public <T> void f(T ...

  5. VC 绘图技巧--自定义形状图形

    自定义形状图形,定义几个点围城的图形,然后进行描边和填充: if (m_memDC.m_hDC!=NULL) { CPoint point[4]; point[0].x=nLeft+(int)(0.1 ...

  6. tc3162目录

    lsbin      dev      lib      proc     tmp      usrboaroot  etc      linuxrc  sbin     userfs   var# ...

  7. Cloud Foundry中通用service的集成

    目前,CloudFoundry已经集成了很多第三方的中间件服务,并且提供了用户添加自定义服务的接口.随着Cloud Foundry的发展,开发者势必会将更多的服务集成进Cloud Foundry,以供 ...

  8. 转]解析C语言中的sizeof

    解析C语言中的sizeof 一.sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++.--等.它并不是函数.sizeof操作符以字节形式给出 了其操作数的存储大小.操作数 ...

  9. 从WinMain开始

    一.抽象渗漏法则 根据Joel的抽象渗漏法则,所有重大的抽象机制在某种程度上都是有漏洞的.Joel举过一个例子: C++字符串类型应该能让你假装字符串是个基本类型,它们尝试“字串很难处理”这个事实抽象 ...

  10. 腾讯文学动作密集 疑为手Q发力移动阅读铺路

        移动互联网的门票之争并未结束,百度收购91无线,阿里投资新浪微博.UC浏览器,网易推易信.云音乐等等,都是互联网巨头争夺移动互联网门票的最佳案例.不过,上述任何巨头都不可忽视腾讯这个“狠角色” ...