diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/connect/LocalConnectionSource.java b/designer-base/src/main/java/com/fr/design/data/datapane/connect/LocalConnectionSource.java index cf3066f9eb..4b91320829 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/connect/LocalConnectionSource.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/connect/LocalConnectionSource.java @@ -65,6 +65,12 @@ public class LocalConnectionSource extends BaseConnectionSource { ConnectionProcessorFactory.addConnection(bean); } catch (DriverNotFoundException e) { throw new DriverUnExistException(); + } catch (RuntimeException e) { + if (e.getCause() instanceof DriverNotFoundException) { + throw new DriverUnExistException(); + } else { + throw e; + } } } @@ -82,6 +88,12 @@ public class LocalConnectionSource extends BaseConnectionSource { ConnectionProcessorFactory.updateConnection(bean.getConnectionName(), bean); } catch (DriverNotFoundException e) { throw new DriverUnExistException(); + } catch (RuntimeException e) { + if (e.getCause() instanceof DriverNotFoundException) { + throw new DriverUnExistException(); + } else { + throw e; + } } } diff --git a/designer-base/src/main/java/com/fr/file/FILEChooserPane.java b/designer-base/src/main/java/com/fr/file/FILEChooserPane.java index 8b6d645fb3..8ca9918274 100644 --- a/designer-base/src/main/java/com/fr/file/FILEChooserPane.java +++ b/designer-base/src/main/java/com/fr/file/FILEChooserPane.java @@ -172,6 +172,7 @@ public class FILEChooserPane extends BasicPane { protected boolean showEnv; protected boolean showLoc; protected boolean showWebReport = false; + protected boolean showMkdir = true; private UIDialog dialog; @@ -245,6 +246,7 @@ public class FILEChooserPane extends BasicPane { chooserPane.showEnv = true; chooserPane.showLoc = false; chooserPane.showWebReport = false; + chooserPane.showMkdir = false; // 替换掉 PlaceListModel chooserPane.setFileDataPlaceListModel(FileDataFILE.parseType(filter)); chooserPane.removeAllFilter(); @@ -338,6 +340,7 @@ public class FILEChooserPane extends BasicPane { mkdirButton = initMkdirButton(); locationPane.add(mkdirButton, BorderLayout.EAST); + mkdirButton.setEnabled(showMkdir); JPanel centerLeftPanel = FRGUIPaneFactory.createBorderLayout_S_Pane(); // Richie:placesList includes C,D,E,F and DeskTop etc. @@ -1229,7 +1232,7 @@ public class FILEChooserPane extends BasicPane { currentDirectory = dir; this.locationBtnPane.populate(currentDirectory); - this.mkdirButton.setEnabled(currentDirectory != null); + this.mkdirButton.setEnabled(currentDirectory != null && showMkdir); refreshSubFileListModel(); } @@ -1872,7 +1875,6 @@ public class FILEChooserPane extends BasicPane { private UIButton initMkdirButton() { UIButton folderButton = new UIButton(); folderButton.setIcon(new LazyIcon("new_folder")); - folderButton.setUI(new UIButtonUI()); folderButton.setToolTipText(Toolkit.i18nText("Fine-Design_Basic_Utils_New_Folder")); folderButton.addActionListener(new ActionListener() { @Override