SWT对话框

对话框,都继承自org.eclipse.swt.widgets.Dialog,有Modal的和Modeless的区分,一般的对话框处理程序如下:

 

<DialogType>

dlg = new <DialogType>(shell);

dlg.setSomeData(data);

 

<ReturnType>

returnValue = dlg.open();

if (returnValue == null) {

// User clicked cancel

} else {

// Do something with returnValue

}

 

对话框主要有以下六种:

 

1MessageBox,消息对话框

 

可定制的对话框样式包括:

 

标题栏:setText()

 

消息提示:setMessage()

 

消息图标类型:style属性,有:SWT.ICON_ERRORSWT.ICON_INFORMATIONSWT.ICON_QUESTIONSWT.ICON_WARNINGSWT.ICON_WORKING

 

按钮类型:style属性,有:SWT.OKSWT.OK | SWT.CANCELSWT.YES | SWT.NOSWT.YES | SWT.NO | SWT.CANCELSWT.RETRY | SWT.CANCELSWT.ABORT | SWT.RETRY | SWT.IGNORE

 

对话框返回值:int open(),返回的是点击的按钮对应的int值。

 

示例:

 

MessageBox messageBox = new MessageBox(shell, SWT.ICON_QUESTION |SWT.YES | SWT.NO);

messageBox.setMessage(”Is this question simple?”);

int rc = messageBox.open();

 

2ColorDialog,选择颜色对话框

 

ColorDialog dlg = new ColorDialog(shell);

RGB rgb = dlg.open();

if (rgb != null) {

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

}

 

3DirectoryDialog,文件夹选择对话框

 

DirectoryDialog dlg = new DirectoryDialog(shell);

dlg.setFilterPath(text.getText());

dlg.setText(”SWT’s DirectoryDialog”);

dlg.setMessage(”Select a directory”);

String selectedDirectory = dlg.open();

 

4FileDialog,文件选择对话框

 

FileDialog dlg = new FileDialog(shell, SWT.OPEN);

String fileName = dlg.open();

if (fileName != null) {

// Open the file

}

 

对话框标题栏:void setText(String text)

 

文件后缀名过滤:void setFilterExtensions (String[] extensions)

 

缺省路径及文件名:void setFilterPath(String string)

 

返回值:String[] getFileNames() / String getFileName()

 

5FontDialog,字体选择对话框

 

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

myLabel.setFont(font);

myLabel.setForeground(color);

}

 

6PrintDialog,打印对话框

 

 

如何自定义对话框呢?扩展Dialog类即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值