您的位置:首页 > 其它

SWT常用系统对话框

2009-12-20 20:49 190 查看
常用系统对话框  在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  “目录”对话框
这些常用的系统对话框都是操作系统提供的,和当操作系统中使用的对话框是一样的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: