From 758e1f73adc45d24f80cd97518c90d46e3f9556c Mon Sep 17 00:00:00 2001 From: Lee Date: Mon, 13 Jun 2016 23:02:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=BA=E7=A1=80=E6=8E=A7=E4=BB=B6=E7=B1=BB?= =?UTF-8?q?=E6=8A=BD=E5=8F=96=E9=9C=80=E8=A6=81=E7=9A=84=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E5=8D=95=E7=8B=AC=E4=BD=9C=E4=B8=80=E4=B8=AA=E6=96=B9=E6=B3=95?= =?UTF-8?q?=EF=BC=8C=E5=9C=A8=E5=AD=90=E7=B1=BB=E4=B8=AD=E9=87=8D=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../widget/editors/FormattedEditor.java | 21 ++++++++++------- .../widget/editors/DoubleEditor.java | 23 +++++++++++++++++++ 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/designer_base/src/com/fr/design/mainframe/widget/editors/FormattedEditor.java b/designer_base/src/com/fr/design/mainframe/widget/editors/FormattedEditor.java index 2d92f819c4..2db12f23b8 100644 --- a/designer_base/src/com/fr/design/mainframe/widget/editors/FormattedEditor.java +++ b/designer_base/src/com/fr/design/mainframe/widget/editors/FormattedEditor.java @@ -4,6 +4,7 @@ import java.awt.BorderLayout; import java.awt.Component; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; import java.text.Format; import java.text.ParseException; @@ -32,17 +33,21 @@ public class FormattedEditor extends AbstractPropertyEditor { textField = new JFormattedTextField(format); panel.add(textField, BorderLayout.CENTER); textField.setBorder(null); - textField.addKeyListener(new KeyAdapter() { + textField.addKeyListener(createKeyListener()); + } + + protected KeyListener createKeyListener() { + return new KeyAdapter() { - public void keyReleased(KeyEvent e) { - try { + public void keyReleased(KeyEvent e) { + try { textField.commitEdit(); + } catch (ParseException e1) { return; - } catch (ParseException e1) { - return; - } - } - }); + } + firePropertyChanged(); + } + }; } @Override diff --git a/designer_form/src/com/fr/design/mainframe/widget/editors/DoubleEditor.java b/designer_form/src/com/fr/design/mainframe/widget/editors/DoubleEditor.java index 932338dd34..e88d3cea0a 100644 --- a/designer_form/src/com/fr/design/mainframe/widget/editors/DoubleEditor.java +++ b/designer_form/src/com/fr/design/mainframe/widget/editors/DoubleEditor.java @@ -1,11 +1,34 @@ package com.fr.design.mainframe.widget.editors; +import javax.swing.*; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; import java.text.NumberFormat; +import java.text.ParseException; public class DoubleEditor extends FormattedEditor { + private JFormattedTextField textField; + public DoubleEditor() { super(NumberFormat.getNumberInstance()); + textField = (JFormattedTextField) super.getCustomEditor(); + } + + @Override + public KeyListener createKeyListener() { + return new KeyAdapter() { + + public void keyReleased(KeyEvent e) { + try { + textField.commitEdit(); + return; + } catch (ParseException e1) { + return; + } + } + }; } @Override