用Java开发C/S应用(四):swt中的对话框

对话框主要有以下六种:

1.MessageBox,消息对话框

只有OK按钮的:

                MessageBox messageBox = new MessageBox(shell, SWT.ICON_WARNING
                        
| SWT.OK);
                messageBox.setText(
"title");
                messageBox.setMessage(
"这是一个测试");
                messageBox.open();

有是和否按钮的:

                MessageBox messageBox = new MessageBox(shell,
                        SWT.ICON_INFORMATION 
| SWT.YES | SWT.NO);
                messageBox.setText(
"title");
                messageBox.setMessage(
"这是一个测试");
                
int rc = messageBox.open();
                
if (rc == SWT.YES) {
                    text.setText(
"你点击了YES");
                } 
else if (rc == SWT.NO) {
                    text.setText(
"你点击了NO");
                }

 

2.DirectoryDialog,文件夹选择框

                DirectoryDialog dlg = new DirectoryDialog(shell);
                dlg.setText(
"SWT’s DirectoryDialog");
                dlg.setMessage(
"Select a directory");
                String directoryName 
= dlg.open();
                
if (directoryName != null) {
                    text.setText(directoryName);
                }

 

3.FileDialog,文件选择对话框

                FileDialog dlg = new FileDialog(shell, SWT.OPEN);
                dlg.setFilterExtensions(
new String[] { "*.doc;*.xls;*.ppt" });
                String fileName 
= dlg.open();
                
if (fileName != null) {
                    text.setText(fileName);
                }

 

4.FontDialog,字体选择对话框

                FontDialog dlg = new FontDialog(shell);
                FontData fontData 
= dlg.open();
                
if (fontData != null) {
                    Font font 
= new Font(shell.getDisplay(), fontData);
                    Color color 
= new Color(shell.getDisplay(), dlg.getRGB());
                    text.setFont(font);
                    text.setForeground(color);
                }

 

5.ColorDialog,颜色选择对话框

                ColorDialog dlg = new ColorDialog(shell);
                RGB rgb 
= dlg.open();
                
if (rgb != null) {
                    Color color 
= new Color(shell.getDisplay(), rgb);
                    text.setForeground(color);
                }

 

6.PrintDialog,打印对话框

这个稍复杂

 

通过扩展Dialog类,还可以自定义对话框

posted @ 2009-07-18 00:25  魔豆  阅读(2557)  评论(0编辑  收藏  举报