SWT常用系統對話框

常用系統對話框 

在SWT的開發過程中,用戶還會經常使用到打印對話框、顏色對話框、字體對話框、文件對話框和目錄對話框等對話框,本節將介紹這些對話框的使用。另外,每種類型的對話框都可以在本書源代碼中找到實例。

15.8.1  打印對話框(PrintDialog)

“打印”對話框中用戶能選擇打印機和設置打印的一些選項,如圖15-8所示。

新建打印對話框通過PrintDialog,例如“PrintDialog printDialog = new PrintDialog(s, SWT.NONE);”,另外,要打印相關的數據可以通過Printer對象(如有興趣可參考本書源代碼)。

image067.jpg

圖15-8 “打印”對話框

15.8.2  顏色對話框(ColorDialog)

當用戶要改變顏色的設置,就要用到顏色對話框,如圖15-9所示。

image068.jpg

圖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所示。

image069.jpg

圖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);

image070.jpg

圖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);

   }

image071.jpg

圖15-12  “目錄”對話框

這些常用的系統對話框都是操作系統提供的,和當操作系統中使用的對話框是一樣的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章