-
Notifications
You must be signed in to change notification settings - Fork 5
Dialog Tutorial
对话框(Dialog)是我们经常用到的一个组件,其实它跟Shell很类似,在这里只讲几个经常用到的系统对话框,至于怎么自己实现对话框,请参考后面的文章JFace Dialogs。
org.eclipse.swt.widgets.ColorDialog
ColorDialog dialog = new ColorDialog(shell);
dialog.setRGB(oldValue); //设置颜色。
RGB newValue = dialog.open(); //当选好颜色点击OK关闭时返回新的颜色,否则返回空值。
如图:

org.eclipse.swt.widgets.DirectoryDialog
DirectoryDialog dialog = new DirectoryDialog(shell);
dialog.setText("Foxes vs. Dogs"); // 设置对话框的标题。
dialog.setMessage("A qiuick brown fox jumps over the laze dog."); // 设置提示信息。
dialog.setFilterPath("C:"); // 设置找寻文件夹的初始目录。
String open = dialog.open(); // 返回选取的文件夹,如果取消,则返回空。
如图:

org.eclipse.swt.widgets.FileDialog分为两种,一是打开文件对话框,而是保存文件对话框。
FileDialog openDialog = new FileDialog(shell, SWT.OPEN | SWT.MULTI); //SWT.MULTI允许打开多个文件。
openDialog.setText("Open File Dialog"); //设置对话框的标题。
openDialog.setFilterExtensions(new String[] { "*.jpg;*.png;*.gif",
"*.*" }); //设置打开文件的后缀名
openDialog.setFilterPath("C:"); //设置要打开文件的初始目录。
String open = openDialog.open(); //返回打开的文件的绝对路径。
FileDialog saveDialog = new FileDialog(shell, SWT.SAVE);
saveDialog.setText("Save File Dialog");
saveDialog.setFilterExtensions(new String[] { "*.txt" });
saveDialog.setFileName("new_file"); //设置要保存的文件的名称,可以为空。
saveDialog.setFilterPath("C:");
saveDialog.setOverwrite(true); //设置文件存在需要覆盖时,要不要弹出询问窗口,true为弹出,false为默认覆盖。
saveDialog.open();
org.eclipse.swt.widgets.FontDialog
FontDialog dialog = new FontDialog(shell);
dialog.setEffectsVisible(true);
FontData open = dialog.open();
如图:

org.eclipse.swt.printing.PrintDialog
PrintDialog dialog = new PrintDialog(shell);
dialog.setStartPage(1);
dialog.setEndPage(3);
dialog.setPrintToFile(true);
dialog.open();

org.eclipse.swt.widgets.MessageBox
MessageBox box = new MessageBox(shell, SWT.RETRY | SWT.IGNORE
| SWT.ABORT | SWT.ICON_QUESTION); // 设置按钮和图标。
box.setText("Foxes vs. Dogs"); // 设置标题。
box.setMessage("A quick brown fox jumps over the lazy dog?"); //设置信息。
int result = box.open();
如图:

参考资料:
Soyatec Eclipse Plug-in and RCP Tutorials, wrote by Jin Liu (jin.liu@soyatec.com).
Eclipse Plug-in Development Tutorial
-
Standard Widget Toolkit Tutorial
-
Widgets Tutorial
- Label Tutorial
- Button Tutorial
- Text Tutorial
- Combo Tutorial
- List Tutorial
- Scale Tutorial
- Slider Tutorial
- Spinner Tutorial
- DateTime Tutorial
- Table Tutorial
- Tree Tutorial
- ToolBar Tutorial
- CoolBar Tutorial
- ProgressBar Tutorial
- ScrollBar Tutorial
- TaskBar Tutorial
- ExpandBar Tutorial
- Menu Tutorial
- Sash Tutorial
- ToolTip Tutorial
- Tray Tutorial
- Link Tutorial
- Browser Tutorial
- Dialog Tutorial
- Common Properties Tutorial
- Components Tutorial
- Shell Tutorial
- Display Tutorial
- SWT Custom Widgets Tutorial
- Drag and Drop Tutorial
- Layouts Tutorial
- Resource Management Tutorial
-
Widgets Tutorial
-
[JFace Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/JFace-Tutorial)
- [JFace Viewers Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/JFace-Viewers-Tutorial)
- [TableViewer Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/TableViewer-Tutorial)
- [TreeViewer Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/TreeViewer-Tutorial)
- [ListViewer Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/ListViewer-Tutorial)
- [ComboViewer Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/ComboViewer-Tutorial)
- [JFace Dialogs Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/JFace-Dialogs-Tutorial)
- [JFace DataBinding Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/JFace-DataBinding-Tutorial)
- [JFace Viewers Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/JFace-Viewers-Tutorial)
-
[Plug-in Development Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/Plug-in-Development-Tutorial)
- [Views Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/Views-Tutorial)
- [Editors Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/Editors-Tutorial)
- [Action and Menus Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/Action-and-Menus-Tutorial)
- [Preferences Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/Preferences-Tutorial)
- [ExtensionPoint Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/ExtensionPoint-Tutorial)
- [Publish Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/Publish-Tutorial)
- [Feature Project Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/Feature-Project-Tutorial)
- [UpdateSite Project Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/UpdateSite-Project-Tutorial)
- [Fragment Project Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/Fragment-Project-Tutorial)
-
[Eclipse 3.x RCP Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/Eclipse-3.x-RCP-Tutorial)
- [Branding Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/Branding-Tutorial)
- [Publish RCP Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/Publish-RCP-Tutorial)
-
[Graphical Editing Framework Tutorial] (https://github.com/ecsoya/eclipse.tutorial/wiki/GEF-Tutorial)