swt的UI界面上打开windows自带文件夹选择对话框
Button button_1 = new Button(composite_top, SWT.NONE);
button_1.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
// 新建文件夹(目录)对话框
DirectoryDialog folderdlg = new DirectoryDialog(new Shell());
// 设置文件对话框的标题
folderdlg.setText("文件夹选择");
// 设置初始路径
folderdlg.setFilterPath("SystemDrive");
// 设置对话框提示文本信息
folderdlg.setMessage("请选择相应的文件夹");
// 打开文件对话框,返回选中文件夹目录
String selecteddir = folderdlg.open();
if (selecteddir == null) {
return;
} else {
text.setText(selecteddir);
}
}
});
正常调用这段代码没有任何问题,不过今天测试的时候发现一个小问题。就是当添加如下代码时private CreateTable ct = CreateTable.getCreateTable();(即创建一个全局对象)显示的对话框则会有部分缺失。当private CreateTable ct = null;时显示的对话框没有任何问题。
Button button_1 = new Button(composite_top, SWT.NONE);
button_1.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
// 新建文件夹(目录)对话框
DirectoryDialog folderdlg = new DirectoryDialog(new Shell());
// 设置文件对话框的标题
folderdlg.setText("文件夹选择");
// 设置初始路径
folderdlg.setFilterPath("SystemDrive");
// 设置对话框提示文本信息
folderdlg.setMessage("请选择相应的文件夹");
// 打开文件对话框,返回选中文件夹目录
String selecteddir = folderdlg.open();
if (selecteddir == null) {
return;
} else {
text.setText(selecteddir);
}
}
});
正常调用这段代码没有任何问题,不过今天测试的时候发现一个小问题。就是当添加如下代码时private CreateTable ct = CreateTable.getCreateTable();(即创建一个全局对象)显示的对话框则会有部分缺失。当private CreateTable ct = null;时显示的对话框没有任何问题。