From 5eaaf35d7f72bde9c86390f20df9dbca19bc3d09 Mon Sep 17 00:00:00 2001 From: kuangshuai Date: Fri, 3 Sep 2021 11:57:51 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-57868=20=E8=A7=A3=E5=86=B3=E5=8D=95?= =?UTF-8?q?=E5=85=83=E6=A0=BC=E5=88=87=E6=8D=A2=E5=85=83=E7=B4=A0=E7=9A=84?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/actions/insert/cell/GeneralCellAction.java | 8 ++++++++ .../java/com/fr/design/cell/editor/TextCellEditor.java | 9 ++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/designer-realize/src/main/java/com/fr/design/actions/insert/cell/GeneralCellAction.java b/designer-realize/src/main/java/com/fr/design/actions/insert/cell/GeneralCellAction.java index ae805e027..758c4e335 100644 --- a/designer-realize/src/main/java/com/fr/design/actions/insert/cell/GeneralCellAction.java +++ b/designer-realize/src/main/java/com/fr/design/actions/insert/cell/GeneralCellAction.java @@ -10,6 +10,7 @@ import com.fr.design.menu.MenuKeySet; import javax.swing.*; +import java.awt.event.ActionEvent; /** * @@ -52,4 +53,11 @@ public class GeneralCellAction extends AbstractCellAction implements WorkBookSup public Class getCellValueClass() { return String.class; } + + @Override + public void actionPerformed(ActionEvent evt) { + super.actionPerformed(evt); + this.getEditingComponent().getGrid().getCellEditor().stopCellEditing(); + } + } diff --git a/designer-realize/src/main/java/com/fr/design/cell/editor/TextCellEditor.java b/designer-realize/src/main/java/com/fr/design/cell/editor/TextCellEditor.java index 898474d1c..c0995fe0c 100644 --- a/designer-realize/src/main/java/com/fr/design/cell/editor/TextCellEditor.java +++ b/designer-realize/src/main/java/com/fr/design/cell/editor/TextCellEditor.java @@ -129,7 +129,7 @@ public class TextCellEditor extends AbstractCellEditor { } this.oldValue = Utils.objectToString(value); - this.textField.setText(oldValue); + resetTextWithoutDocumentListener(oldValue); //peter:只读方式获得Style. Style style = null; if(cellElement != null) { @@ -176,4 +176,11 @@ public class TextCellEditor extends AbstractCellEditor { public void keyReleased(KeyEvent evt) { } }; + + + private void resetTextWithoutDocumentListener(String text) { + this.textField.getDocument().removeDocumentListener(documentlistener); + this.textField.setText(text); + this.textField.getDocument().addDocumentListener(documentlistener); + } } \ No newline at end of file