SWT常用系统对话框

常用系统对话框 

在SWT的开发过程中,用户还会经常使用到打印对话框、颜色对话框、字体对话框、文件对话框和目录对话框等对话框,本节将介绍这些对话框的使用。另外,每种类型的对话框都可以在本书源代码中找到实例。

15.8.1  打印对话框(PrintDialog)

“打印”对话框中用户能选择打印机和设置打印的一些选项,如图15-8所示。

新建打印对话框通过PrintDialog,例如“PrintDialog printDialog = new PrintDialog(s, SWT.NONE);”,另外,要打印相关的数据可以通过Printer对象(如有兴趣可参考本书源代码)。

图15-8 “打印”对话框

15.8.2  颜色对话框(ColorDialog)

当用户要改变颜色的设置,就要用到颜色对话框,如图15-9所示。

图15-9  颜色对话框

用户可以通过如下代码片段新建颜色对话框,并设置标签的颜色。

   //新建颜色对话框

   ColorDialog dlg = new ColorDialog(shell);

   //设置默认的颜色

   dlg.setRGB(colorLabel.getBackground().getRGB());

   //设置标题字体

   dlg.setText("Choose a Color");

   //打开对话框

   RGB rgb = dlg.open();

   if (rgb != null) {

     color.dispose();

     color = new Color(shell.getDisplay(), rgb);

     //设置标签的颜色

     colorLabel.setBackground(color);

   }

15.8.3  字体对话框(FontDialog)

用户可以通过“字体”对话框选择字体及字体的颜色,如图15-10所示。

图15-10  “字体”对话框

新建字体对话框比较简单,如下代码片段演示如何设置字体对话框的初始字体和颜色,以及选择了相应的字体和颜色后设置标签的字体和颜色。

// 新建字体对话框

FontDialog dlg = new FontDialog(shell);

//设置初始字体和颜色

if (font != null) dlg.setFontList(fontLabel.getFont().getFontData());

if (color != null) dlg.setRGB(color.getRGB());

//打开对话框

if (dlg.open() != null) {

     if (font != null) font.dispose();

     if (color != null) color.dispose();

     //新建字体对象

     font = new Font(shell.getDisplay(), dlg.getFontList());

     //设置标签的字体

     fontLabel.setFont(font);

     //新建颜色对象

     color = new Color(shell.getDisplay(), dlg.getRGB());

     //设置标签颜色

     fontLabel.setForeground(color);

15.8.4  文件对话框(FileDialog)

“文件”对话框是比较常用的对话框,当用户要从磁盘选择文件时将用文件对话框选取文件,如图15-11所示。

新建文件对话框,用户可以设置对话框的初始路径、标题和扩展名过滤等属性,如下代码片段所示。

   //新建文件对话框,并设置为打开的方式

   FileDialog fd = new FileDialog(s, SWT.OPEN);

   //设置文件对话框的标题

   fd.setText("Open");

   //设置初始路径

   fd.setFilterPath("C:/");

   //设置扩展名过滤

   String[] filterExt = { "*.txt", "*.doc", ".rtf", "*.*" };

   fd.setFilterExtensions(filterExt);

   //打开文件对话框,返回选择的文件

   String selected = fd.open();

   System.out.println(selected);

图15-11  “文件”对话框

15.8.5  目录对话框(DirectoryDialog)

“目录”对话框和文件对话框类似,用户可以通过目录对话框选择相应的目录,如图15-12所示。

新建目录对话框,用户可以设置对话框的初始路径、标题和提示信息等属性,最后返回选择的目录,如下代码片段所示。

    //新建目录对话框

   DirectoryDialog dlg = new DirectoryDialog(shell);

   //设置初始路径

   dlg.setFilterPath(text.getText());

   //设置对话框标题

   dlg.setText("SWT's DirectoryDialog");

   //设置提示信息

   dlg.setMessage("Select a directory");

   //打开对话框,返回目录

   String dir = dlg.open();

   if (dir != null) {

     // Set the text box to the new selection

     text.setText(dir);

   }

图15-12  “目录”对话框

这些常用的系统对话框都是操作系统提供的,和当操作系统中使用的对话框是一样的。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值