`
zhongkem
  • 浏览: 148703 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

SWT/Jface中的对话框

阅读更多

应该说,在gui开发中最常碰到的就是对话框了。。在这里进行了一些总结。

一、MessageDialog  用法很简单,但是大小不能根据内容自动调整,可用于简单的信息提示


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

 
二、InputDialog 基本用法如下: 

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());   

 三、MessageBox  和MessageDialog相似但是可以改变大小,用法也稍微复杂些

MessageBox mb = new MessageBox(shell);    
mb.setMessage("提示信息");    
mb.open();  

  
当然了,也可以控制图标和按钮数  
图标的种类:   
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   

 

四、ColorDialog 颜色选择对话框  

 

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

 

注意color使用过后要dispose(); 

五、FontDialog 字体选择对话框

FontDialog dialog = new FontDialog(shell);    
FontData fontData = dialog.open();    
if (fontDate != null){    
     Font font = new Font(shell.getDisplay(),fontData);    
} 

  

同样要注意dispose()

六、PrintDialog 打印对话框

PrintDialog dialog = new PrintDialog(shell);    
PrintData printData = dialog.open();    
if (printDate != null){    
     Printer printer = new Printer(printerData);    
} 

 

 

七、FileDialog 文件选择对话框 

FileDialog dialog = new FileDialog(shell,SWT.OPEN);    
dialog.setFilterPath("c:\windows");//设置初始路径    
String fileName = dialog.open();//返回的全路径(路径+文件名)

 

 

如果想选择多个文件,加上SWT.MULTI

FileDialog dialog = new FileDialog(shell,SWT.OPEN|SWT.MULTI);    
String fileName = dialog.open();//返回最后一个选择文件的全路径    
String[] fileNames = dialog.getFileNames();//返回所有选择的文件名,不包括路径    
String path = dialog.getFilterPath();返回选择的路径,这个和fileNames配合可以得到所有的文件的全路径    

   
加入filter

 

 

 

FileDialog dialog = new FileDialog(shell,SWT.OPEN|SWT.NULTI);    
dialog.setFilterNames(new String[]{"可执行文件(*.exe),"Excel(*.xls),"所有文件""});    
dialog.setFilterExtensions(new String[]{"*.exe","*.xls","*.*"});    

 

 

 

保存对话框
     保存对话框并不提供保存功能,这个需要自己实现,它只提供界面,并得到用户选择的目录和输入的文件名   
     FileDialog dialog = new FileDialog(shell,SWT.SAVE);   
     String fileName = dialog.open();   
   注:保存对话框并不提供保存功能,这个需要自己实现,它只提供界面,并得到用户选择的目录和输入的文件名  

 

分享到:
评论

相关推荐

    我的备忘(swt/jface实现)

    同事用过我的qq农场提醒,觉得还算可以,于是让我修改功能,更适合备忘或工作提醒,...src目录下是源码,swt/jface用的是3.5 有问题请联系我,关于对话框里有我的联系方式 本不该要资源分的,但我实在是缺少积分。。。

    jface对话框

    swt、jface对话框

    eclipse插件开发,第一部分,前16章节----下载不扣分,回帖加1分,欢迎下载,童叟无欺

    04第2章 SWT/JFace概述.pdf 05第3章 SWT编程基础.pdf 06第4章 使用基本控件与对话框.pdf 07第5章 容器与布局5管理器.pdf 08第6章 界面开发工具.pdf 09第7章 高级控件使用.pdf 10第8章 SWT/JFace的事件处理....

    Eclipse_Swt_Jface_核心应用_部分19

    1.6 SWT与JFace、Eclipse 9 1.6.1 JFace是SWT的扩展 9 1.6.2 Eclipse的UI界面基于JFace 10 1.7 本章小结 10 第2章 配置SWT开发环境 11 2.1 下载和安装Eclipse 11 2.1.1 Eclipse下载页面介绍 11 2.1.2 ...

    Eclipse插件开发学习笔记 第三篇 高级进阶 (第十九章到第二十二章)

    本书首先介绍了Eclipse的平台结构,并根据读者定位,省略了大部分关于IDE使用的基础内容,然后具体介绍SWT/JFace的使用,包括基本的控件、观察器、对话框以及图形等,在接下来的插件开发核心和高级部分,本书详细...

    Eclipse插件开发学习笔记 第一篇 开发基础 (第一章到第八章)

    本书首先介绍了Eclipse的平台结构,并根据读者定位,省略了大部分关于IDE使用的基础内容,然后具体介绍SWT/JFace的使用,包括基本的控件、观察器、对话框以及图形等,在接下来的插件开发核心和高级部分,本书详细...

    Eclipse插件开发学习笔记 第二篇 核心技术 (第十四章到第十八章)

    本书首先介绍了Eclipse的平台结构,并根据读者定位,省略了大部分关于IDE使用的基础内容,然后具体介绍SWT/JFace的使用,包括基本的控件、观察器、对话框以及图形等,在接下来的插件开发核心和高级部分,本书详细...

    Eclipse插件开发学习笔记 第二篇 核心技术 (第九章到第十三章)

    本书首先介绍了Eclipse的平台结构,并根据读者定位,省略了大部分关于IDE使用的基础内容,然后具体介绍SWT/JFace的使用,包括基本的控件、观察器、对话框以及图形等,在接下来的插件开发核心和高级部分,本书详细...

    Eclipse插件开发笔记—PDF—带目录

    1.3 SWT/JFace技术 1.4 插件技术和OSGi 1.5 RCP技术 1.6 EMF技术 1.7 GEF技术 1.8 本章小结 第2章 SWT/JFace概述 第3章 SWT编程基础 第4章 使用基本控件与对话框 第5章 容器与布局管理器 第6章 界面开发工具 第7章 ...

    eclipse插件开发-铺设一条插件开发普及之路(1-5章).pdf

    第二章 SWT/jFace简介 36 一、SWT/jFace概述 36 二、SWT使用入门 38 三、插件环境下的Dialog 41 2.3.1 Dialog概述与典型结构 41 2.3.1 与主调程序交互 51 四、小结 53 第三章 TitleAreaDialog与布局 54 一、...

    JAVA.SWTJFace JFace篇之向导式对话框.wps

    主要讲述了Jface向导式对话框的编写及代码。能够正确的运行在Eclipse中,希望能帮有所帮助

    Eclipse SWT 黑客帝国炫酷动态背景登录对话框

    用Eclipse SWT 实现的动态背景对话框的源码,动态背景为黑客帝国字符雨效果,极为炫酷。高端大气且上档次。

    Eclipse插件开发之Jface

    jface常用对话框 未上传 4. SWT UI之分隔框容器SashForm 5. SWT UI之进度条ProgressBar 6. SWT UI之时间控件DateTime 7. SWT layout之堆叠布局StackLayout 8. swt & jface ui可视化工具安装 9. swt & jface ui...

    swt 中 仿jQuery中的jquery-messager的java类

    @描述 仿jQuery中的jquery-messager插件 ...@备注:因为喜好jQuery,又觉得swt中的弹出对话框写的麻烦,所以写这一个小东西。本人不是高手,勿骂。如果您也有兴趣,欢迎使用邮件交流。邮箱:haruno2005@163.com

    第10章 对话框的使用.ppt

    GUI程序的设计中,对话框是实现用户与程序进行数据交换,提高程序交互性的不可或缺的组件。 JFace库提供了能够满足各种典型应用所需的多种类型对话框。 在使用JFace库提供的组件前,应该在项目的构建路径中导入...

    Eclipse权威开发指南2.pdf

    2.1.1 提示没有任何JRE可用的对话框..... 14 2.1.2 创建您的第一个项目..... 15 2.1.3 Eclipse的外观:编辑器、视图和透视图..... 16 2.1.4 用户界面概述..... 18 2.1.5 首选项介绍..... 19 2.2 基本的Eclipse使用...

    Eclipse权威开发指南3.pdf

    2.1.1 提示没有任何JRE可用的对话框..... 14 2.1.2 创建您的第一个项目..... 15 2.1.3 Eclipse的外观:编辑器、视图和透视图..... 16 2.1.4 用户界面概述..... 18 2.1.5 首选项介绍..... 19 2.2 基本的...

    Eclipse权威开发指南1.pdf

    2.1.1 提示没有任何JRE可用的对话框..... 14 2.1.2 创建您的第一个项目..... 15 2.1.3 Eclipse的外观:编辑器、视图和透视图..... 16 2.1.4 用户界面概述..... 18 2.1.5 首选项介绍..... 19 2.2 基本的...

    Eclipse RCP Plugin 开发自学入门指南(CEC首发)

    Eclipse RCP 允许开发者使用 eclipse结构风格设计弹性的可扩展的应用程序,可重用Eclipse中 已存在的方法和编码模式。俗话说,万事开头难。Eclipse RCP 入手可能会比较困难、费时。接下 来我们将主要讲述如何让RCP ...

Global site tag (gtag.js) - Google Analytics