From c6ef9c139948dd3e7b65ad61eafcca24174d42f0 Mon Sep 17 00:00:00 2001 From: vito Date: Thu, 26 Dec 2024 17:26:10 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-145372=20=E4=BF=AE=E5=A4=8D=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E5=99=A8=E5=8F=8C=E5=87=BB=E6=A8=A1=E6=9D=BFtab?= =?UTF-8?q?=E6=A0=8F=E5=90=8E=E5=8F=B0NPE=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/file/MultiTemplateTabPane.java | 23 ++++++++----------- .../mainframe/CenterRegionContainerPane.java | 3 +-- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/file/MultiTemplateTabPane.java b/designer-base/src/main/java/com/fr/design/file/MultiTemplateTabPane.java index 6f2d1c5719..dc70031db6 100644 --- a/designer-base/src/main/java/com/fr/design/file/MultiTemplateTabPane.java +++ b/designer-base/src/main/java/com/fr/design/file/MultiTemplateTabPane.java @@ -116,7 +116,6 @@ public class MultiTemplateTabPane extends Row { private boolean hoverMoreAction = false; private Icon clodeIcon = new LazyIcon("clear"); private boolean isShowList = false; - private JButton leadingActionButton; private final UIToolbar leadingToolBar = new UIToolbar(); //自动新建的模板B若没有进行任何编辑,切换到其他 @@ -203,17 +202,6 @@ public class MultiTemplateTabPane extends Row { updateLeadingToolBar(); } - /** - * 为前导动作添加监听 - * - * @param l 监听器 - */ - public void addLeadingAction(ActionListener l) { - newTemplateAction = l; - leadingActionButton.removeActionListener(newTemplateAction); - leadingActionButton.addActionListener(newTemplateAction); - } - public void setToolBarEnable(boolean enable) { leadingToolBar.setEnabled(enable); } @@ -787,7 +775,9 @@ public class MultiTemplateTabPane extends Row { public void mouseClicked(MouseEvent e) { // 双击添加模板 if (e.getClickCount() == DOUBLE_CLICK - && isOverBlank(e.getX())) { + && isOverBlank(e.getX()) + && newTemplateAction != null + ) { newTemplateAction.actionPerformed(null); } } @@ -1003,6 +993,7 @@ public class MultiTemplateTabPane extends Row { /** * 创建新建模板的前导区工具按钮 + * * @return */ private ToolBarDef createLeadingToolBarDef() { @@ -1013,17 +1004,21 @@ public class MultiTemplateTabPane extends Row { /** * 创建新建文件的按钮数组 + * * @return */ public ShortCut[] createNewTemplateShortCuts() { ArrayList shortCuts = new ArrayList(); - shortCuts.add(new NewWorkBookToolButtonAction()); + NewWorkBookToolButtonAction action = new NewWorkBookToolButtonAction(); + shortCuts.add(action); + newTemplateAction = action; return shortCuts.toArray(new ShortCut[0]); } /** * 插入插件中的按钮 + * * @return */ protected void insertLeadingToolButton(ToolBarDef toolBarDef, String anchor) { diff --git a/designer-base/src/main/java/com/fr/design/mainframe/CenterRegionContainerPane.java b/designer-base/src/main/java/com/fr/design/mainframe/CenterRegionContainerPane.java index e59628cd15..74d285b992 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/CenterRegionContainerPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/CenterRegionContainerPane.java @@ -98,8 +98,7 @@ public class CenterRegionContainerPane extends JPanel { } private MultiTemplateTabPane initTemplateTabPane() { - MultiTemplateTabPane templateTabPane = MultiTemplateTabPane.getInstance(); - return templateTabPane; + return MultiTemplateTabPane.getInstance(); } public ToolBarMenuDock getToolBarMenuDock() {