`
hupy
  • 浏览: 188873 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Swt/Jface中各种各样的对话框【转】

    博客分类:
  • SWT
阅读更多

Swt/Jface中提供了各种各样的Dialog,一般情况下就能满足我们的需求,现在把这些dialog介绍一下,
下一篇文章再继续将如何自定义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();
分享到:
评论

相关推荐

    swt/jface中文教程

    SWT/JFace 的形成是为了解决传统 GUI 开发中的一些问题,如:平台相关性、难以使用、性能不佳等问题。SWT/JFace 的出现,提供了一种新的 GUI 开发方式,使开发者能够快速构建高效、美观的 GUI 应用程序。 SWT/JFace...

    SWT/JFace专题 --- SWT/JFace概述

    SWT (Standard Widget Toolkit) 和 JFace 是两个在Java中用于构建图形用户界面(GUI)的重要库,尤其在开发Eclipse插件时被广泛应用。它们是开源项目,由Eclipse基金会维护,为开发者提供了丰富的控件和高级UI设计...

    swt/jface.jar

    标题中的"swt/jface.jar"是一个关键组件,它在Java开发环境中用于构建用户界面。SWT(Standard Widget Toolkit)是IBM开发的一个开源GUI库,它提供了与原生操作系统更紧密集成的图形用户界面控件。JFace是建立在SWT...

    SWT/Jface 开发入门指南

    SWT/Jface开发入门指南是一篇专为初学者编写的教程,旨在帮助他们快速搭建开发环境并掌握使用SWT和JFace编写图形化应用程序的基本技巧。以下是该教程所涵盖的关键知识点: 1. **SWT和JFace简介**: - SWT全称...

    SWT/Jface API 3.4

    4. **Dialogs 和 Wizards**:在 SWT/Jface API 3.4 中,提供了丰富的对话框和向导类,如 MessageDialog、InputDialog、FileDialog 等,帮助开发者快速创建常见的用户交互。向导(Wizard)则是一种引导用户完成多步骤...

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

    SWT (Standard Widget Toolkit) 和 JFace 是 Eclipse 开发框架中的两个重要组件,它们主要用于构建图形用户界面(GUI)。SWT 是一个底层的 GUI 工具包,它提供了与操作系统直接交互的能力,使得应用程序能够拥有原生...

    Eclipse SWT/JFace 核心应用 带书签

    Eclipse SWT/JFace 核心应用 带书签 Eclipse SWT/JFace

    Eclipse SWT/JFace 核心应用光盘源码

    Eclipse SWT(Standard Widget Toolkit)和JFace是Java开发中用于构建图形用户界面(GUI)的库,尤其在开发Eclipse插件和RCP(Rich Client Platform)应用程序时非常重要。这两个库提供了丰富的组件和框架,使得...

    SWT/JFace开发实例

    SWT/JFace开发实例

    swt/jface in action +中文版+英文版+源码 下载

    SWT (Standard Widget Toolkit) 和 JFace 是两个与Java GUI编程密切相关的库,它们由Eclipse项目维护。...无论你是初学者还是有经验的开发者,都能从《SWT/JFace in Action》这本书中找到有价值的内容。

    eclipse swt/jface核心应用源码

    Eclipse SWT/JFace是Eclipse框架中的两个关键组件,它们为构建用户界面提供了强大的支持。SWT(Standard Widget Toolkit)是Eclipse的本机GUI库,而JFace是基于SWT构建的更高层次的抽象层,它简化了UI开发过程。 ...

    SWT/JFace学习文档

    SWT/JFace是Java开发图形用户界面(GUI)的两个重要库,由Eclipse基金会维护。它们被广泛用于构建桌面应用程序,尤其是与Eclipse IDE相关的项目。本学习文档旨在介绍SWT/JFace的基础知识,帮助开发者更好地理解和...

    swt/jface实例开发

    3. **丰富的组件集**:SWT提供了各种常见的GUI组件,如按钮、文本框、列表、树、表、进度条等,以及对话框、菜单、工具栏等更复杂的元素。 4. **事件驱动**:SWT基于事件模型,通过监听和处理用户交互事件来控制...

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

    在"eclipse swt/jface核心应用源代码"中,我们可以期待看到如何使用SWT和JFace来创建Eclipse插件或RCP应用的实际示例。这些源代码通常会涵盖以下关键知识点: 1. **组件创建**:如何使用SWT类创建基本的UI元素,如`...

    SWT/JFace从入门到精通

    - Composite:SWT中的容器类,可以包含其他SWT组件。 - Listener:处理用户事件的对象,如按钮点击、窗口关闭等。 - Data Binding:JFace提供的机制,用于自动同步UI组件和后台数据模型。 6. 实战案例 - 构建一...

    Eclipse SWT/JFace 书中 全部实例

    4. Dialogs:创建各种对话框,如MessageDialog、InputDialog、FileDialog等,处理用户输入和确认。 5. Views和Perspectives:构建Eclipse RCP(Rich Client Platform)应用中的视图和视角,以及它们之间的交互。 6...

    swt/Jface中文教程

    ### SWT/JFace中文教程知识点详解 #### 1.1 SWT/JFace概览 - **SWT与JFace的目的**:SWT(Standard Widget Toolkit)和JFace是Eclipse平台提供的两个核心工具包,用于构建高性能的图形用户界面(GUI)。SWT主要...

    Eclipse SWT JFace核心应用_pdf_含标签_目录

    《Eclipse SWT/Jface核心应用》全面介绍了SWT、JFace和RCP的相关知识。全书共分5篇,第1篇介绍了SWT产生的背景以及SWT的一些基本概念和基础知识。第2篇介绍了SWT基本控件的使用,以及事件处理、布局等SWT基本知识的...

    SWT/JFACE API

    SWT (Standard Widget Toolkit) 和 JFace 是两个用于构建Java图形用户界面(GUI)的开源库,它们在Java开发领域中被广泛使用,特别是在Eclipse IDE及其插件开发中。SWT是底层的UI库,提供了与操作系统原生控件直接...

Global site tag (gtag.js) - Google Analytics