`
favor
  • 浏览: 144046 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

swt/jface dialog

阅读更多
一、MessageDialog
1,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的大小不能根据内容自动调整,对于少量提示信息的时候显得大了些。
3,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 = new PrintDialog(shell);
PrintData printData = dialog.open();
if (printDate != null){
    Printer printer = new Printer(printerData);
}

六、文件选择对话框:同上
1,实现方法
FileDialog dialog = new FileDialog(shell,SWT.OPEN);
dialog.setFilterPath("c:\windows");//设置初始路径
String fileName = dialog.open();//返回的全路径(路径+文件名)
2,如果想选择多个文件,加上SWT.MULTI
FileDialog dialog = new FileDialog(shell,SWT.OPEN|SWT.MULTI);
String fileName = dialog.open();//返回最后一个选择文件的全路径
String[] fileNames = dialog.getFileNames();//返回所有选择的文件名,不包括路径
String path = dialog.getFilterPath();返回选择的路径,这个和fileNames配合可以得到所有的文件的全路径
3,加入filter
FileDialog dialog = new FileDialog(shell,SWT.OPEN|SWT.NULTI);
dialog.setFilterNames(new String[]{"可执行文件(*.exe),"Excel(*.xls),"所有文件""});
dialog.setFilterExtensions(new String[]{"*.exe","*.xls","*.*"});
//接受方法同2中的写法,不同就是加入了过滤器。
4,保存对话框
保存对话框并不提供保存功能,这个需要自己实现,它只提供界面,并得到用户选择的目录和输入的文件名
FileDialog dialog = new FileDialog(shell,SWT.SAVE);
String fileName = dialog.open();
注:保存对话框并不提供保存功能,这个需要自己实现,它只提供界面,并得到用户选择的目录和输入的文件名
分享到:
评论
2 楼 xykpermit 2009-02-11  
补充下,最好不要给Diaplay来addFilter了,因为Display上可能有很多shell的,能否也介绍下shell的各种监听
1 楼 xykpermit 2009-02-11  
好,请教下,我想给界面的按钮加快捷键,以及Dialog的关闭叉叉上加按“ESC”,Dialog就关闭的快捷方式,请写篇文章解答下,不胜感激!

相关推荐

    SWT/JFACE客户端登录窗口例子

    5. **对话框(Dialog)**:登录窗口可能是一个独立的 `Dialog` 对象,它继承自 `org.eclipse.jface.dialogs.Dialog` 类。对话框提供了一种方便的方式,让用户在主应用程序窗口之外输入信息,且可以自定义其大小、...

    SWT/JFace从入门到精通

    JFace的主要组件包括视图(View)、编辑器(Editor)、对话框(Dialog)以及数据绑定机制。 3. Eclipse IDE与SWT/JFace Eclipse作为一款强大的集成开发环境(IDE),其用户界面大量使用了SWT和JFace。这使得...

    SWT/JFACE API

    4. **视图和对话框**:JFace提供了`ViewPart`, `Dialog`等类,用于创建自定义的视图和对话框,这些类简化了窗口的生命周期管理和布局管理。 5. **树和表控件**:JFace的`TreeViewer`和`TableViewer`提供了更高级别的...

    swt/jface api帮助文档

    7. **JFace服务**:包括Dialog、WorkbenchWindow、Action、SelectionService等,它们简化了窗口、动作和选择事件的管理。 8. **数据绑定**:JFace的数据绑定框架允许数据模型与用户界面元素之间的双向同步,使得...

    Eclipse swt/jface核心应用源码(带视频)

    6. **对话框**:使用JFace的`Dialog`类创建自定义对话框,如`MessageDialog`, `InputDialog`等。 7. **模型-视图-控制器**:理解MVC模式在JFace中的应用,以及如何分离业务逻辑和用户界面。 8. **工作流和命令**:...

    SWT/JFace开发入门指南

    ### SWT/JFace开发入门指南知识点解析 #### 一、SWT/JFace简介及目标受众 - **SWT**(Standard Widget Toolkit)与 **JFace** 是 Eclipse 平台中的两个重要组成部分,主要用于创建桌面应用程序的用户界面。 - 本...

    SWT/JFace官方实例

    JFace 提供了标准对话框的实现,如 MessageDialog、InputDialog 和 SelectionDialog 等,实例会展示如何创建和使用这些对话框。 6. **表和树**:SWT 和 JFace 支持复杂的数据展示,如表格(Table)和树形结构(Tree...

    eclipse4 开发SWT/JFace demo

    eclipe 4以上的插件就支持CSS主题切换的功能 plugin.xml 中扩展点org.eclipse.core.runtime.products、org.eclipse.e4.ui.css.swt.theme

    SWT/JFace 控件实例

    这涉及到SWT的Shell(顶级窗口)、Composite(复合控件)、Button和Text控件的使用,以及JFace的Dialog和Event Handling机制。 另一个例子可能是关于数据绑定,展示如何将SWT表格与Java对象的数据模型进行关联,使...

    初学SWT&JFace

    5. **对话框和表单**:JFace提供了Dialog类的子类,如InputDialog和MessageDialog,用于创建各种类型的对话框。此外,FormToolkit和FormComposite可用于构建复杂的表单界面。 6. ** SWT/JFace与Eclipse插件开发**:...

    Eclipse Swt/Jface核心应用 (23-25章_end)

    Eclipse SWT(Standard Widget Toolkit)和JFace是用于构建Java GUI应用程序的强大工具,它们与Eclipse IDE紧密集成,提供了一套高效、可扩展且平台独立的用户界面组件。本资源包含23至25章的核心应用,以下是这些...

    Eclipse SWT/JFace核心应用2

    JFace的核心组件包括视图(View)、编辑器(Editor)、对话框(Dialog)和表单(Form)。同时,JFace的Data Binding机制使得数据模型与用户界面之间的同步变得容易,增强了可维护性和可扩展性。 在Eclipse RCP中,...

    SWT & JFace_最新最全_API

    JFace 提供了视图(View)、编辑器(Editor)、对话框(Dialog)和数据绑定(Data Binding)等功能,使得开发者能够更专注于业务逻辑,而不是界面细节。例如,JFace的TreeViewer和TableViewer可以帮助开发者轻松创建...

    Swt JFace in Action 中文版

    JFace提供了一些高级组件,如视图(View)、编辑器(Editor)、对话框(Dialog)和表单(Form)等,并且包含数据绑定框架,使得模型与视图的分离变得更加简单。JFace还引入了模型-视图-控制器(MVC)设计模式,有助...

    用SWT/JFace实现的资源管理器jExplorerV0.5(附源码)

    重写AboutDialog 7. 重写ExitAction 8. 重写FileUtil中doPaste()方法,显著提高速度,修正拷贝文件时会导致文件不正常的严重Bug 9. 修正其他部分已发现Bug 10. 版本号升级为0.5 &lt;br&gt;尚未实现的功能...

    Jface/swt学生成绩管理程序

    《JFace/SWT学生成绩管理程序:构建与解析》 在Java开发领域,JFace和SWT是两种用于创建图形用户界面(GUI)的重要工具。本篇文章将深入探讨如何利用JFace和SWT技术来构建一个学生成绩管理程序,并分析其中的关键...

    Java swt完整教程

    JFace是建立在SWT之上的抽象层,简化了SWT的使用,提供了一些高级组件,如对话框(Dialog)、视图(View)、编辑器(Editor)等。同时,JFace还提供数据绑定、表单构建等功能。 6. SWT与Eclipse RCP Eclipse Rich...

    Eclipse SWTJFace 核心应用.pdf

    JFace也包含了一些核心组件,如视图(View)、编辑器(Editor)和对话框(Dialog),这些都是构建Eclipse插件或RCP应用的关键部分。 **RCP(Rich Client Platform)** 是Eclipse提供的一种框架,用于开发功能丰富的...

    swt_jface_api

    例如,你可以使用JFace的Dialog创建一个带有表单的对话框,表单的数据通过数据绑定与后台模型关联,而表单的UI则是由SWT的Widget构成。 压缩包中的"swt&amp;jface"文件可能包含以下内容: 1. 示例代码:展示了如何...

    swt&jface api

    5. 对话框和消息:介绍如何使用JFace的Dialog类来创建各种对话框,如信息提示、确认对话、输入对话等。 6. 表单和字段:JFace提供了一套表单构建工具,包括FormText、FormToolbar等,以及如何创建和管理表单字段。 ...

Global site tag (gtag.js) - Google Analytics