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();   
   注:保存对话框并不提供保存功能,这个需要自己实现,它只提供界面,并得到用户选择的目录和输入的文件名  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值