From 8fb2783c447e1f98d27fc22c425e8ef8943602cf Mon Sep 17 00:00:00 2001 From: obo Date: Mon, 19 Aug 2024 00:14:45 +0800 Subject: [PATCH] =?UTF-8?q?INO-21074=20=E8=B6=85=E7=BA=A7=E9=93=BE?= =?UTF-8?q?=E6=8E=A5=E5=88=97=E8=A1=A8=E4=BD=8D=E7=BD=AE=E9=95=9C=E5=83=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gui/controlpane/ListControlPaneHelper.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/controlpane/ListControlPaneHelper.java b/designer-base/src/main/java/com/fr/design/gui/controlpane/ListControlPaneHelper.java index 7fe1a27efe..2e70eed4f1 100644 --- a/designer-base/src/main/java/com/fr/design/gui/controlpane/ListControlPaneHelper.java +++ b/designer-base/src/main/java/com/fr/design/gui/controlpane/ListControlPaneHelper.java @@ -1,5 +1,6 @@ package com.fr.design.gui.controlpane; +import com.fr.base.i18n.BidiUtils; import com.fr.design.beans.BasicBeanPane; import com.fr.design.dialog.FineJOptionPane; import com.fr.design.gui.ilist.JNameEdList; @@ -186,13 +187,22 @@ class ListControlPaneHelper { */ protected MouseListener getListMouseListener(UINameEdList nameableList, UIControlPane controlPane) { return new MouseAdapter() { + + private boolean isEditArea(MouseEvent evt) { + return evt.getClickCount() >= 2 && SwingUtilities.isLeftMouseButton(evt) && (BidiUtils.rtl() ? evt.getX() < controlPane.getPreferredSize().width - EDIT_RANGE : evt.getX() > EDIT_RANGE); + } + + private boolean isIconArea(MouseEvent evt) { + return SwingUtilities.isLeftMouseButton(evt) && (BidiUtils.rtl() ? evt.getX() > controlPane.getPreferredSize().width - EDIT_RANGE : evt.getX() <= EDIT_RANGE); + } + + @Override public void mouseReleased(MouseEvent evt) { nameableList.stopEditing(); - if (evt.getClickCount() >= 2 - && SwingUtilities.isLeftMouseButton(evt) && evt.getX() > EDIT_RANGE) { + if (isEditArea(evt)) { nameableList.editItemAt(nameableList.getSelectedIndex()); - } else if (SwingUtilities.isLeftMouseButton(evt) && evt.getX() <= EDIT_RANGE) { + } else if (isIconArea(evt)) { popupEditDialog(evt.getPoint(), nameableList, controlPane); }