From 2ef4afffde301c3ef213e9198071807986491d4c Mon Sep 17 00:00:00 2001 From: eric Date: Tue, 25 Nov 2003 17:54:50 +0000 Subject: [PATCH] Document Transform it up. git-svn-id: https://samskivert.googlecode.com/svn/trunk@1327 6335cc39-0255-0410-8fd6-9bcaacd3b74c --- .../java/com/samskivert/swing/IntField.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/projects/samskivert/src/java/com/samskivert/swing/IntField.java b/projects/samskivert/src/java/com/samskivert/swing/IntField.java index 822aa23b..0b50403d 100644 --- a/projects/samskivert/src/java/com/samskivert/swing/IntField.java +++ b/projects/samskivert/src/java/com/samskivert/swing/IntField.java @@ -1,5 +1,5 @@ // -// $Id: IntField.java,v 1.3 2003/11/25 16:47:11 mdb Exp $ +// $Id: IntField.java,v 1.4 2003/11/25 17:54:50 eric Exp $ package com.samskivert.swing; @@ -7,6 +7,7 @@ import javax.swing.JTextField; import com.samskivert.Log; import com.samskivert.swing.util.SwingUtil.DocumentValidator; +import com.samskivert.swing.util.SwingUtil.DocumentTransformer; import com.samskivert.swing.util.SwingUtil; /** @@ -14,7 +15,7 @@ import com.samskivert.swing.util.SwingUtil; * specified range. */ public class IntField extends JTextField - implements SwingUtil.DocumentValidator + implements SwingUtil.DocumentValidator, SwingUtil.DocumentTransformer { public IntField () { @@ -56,7 +57,7 @@ public class IntField extends JTextField { setText(Integer.toString(value)); } - + /** * Change the current min value. */ @@ -75,6 +76,13 @@ public class IntField extends JTextField setText(getText()); // jiggle the text } + // from interface SwingUtil.DocumentTransformer + public String transform (String s) + { + int val = Integer.parseInt(s); + return Integer.toString(Math.min(_maxValue, Math.max(_minValue, val))); + } + // from interface SwingUtil.DocumentValidator public boolean isValid (String text) { @@ -85,10 +93,6 @@ public class IntField extends JTextField try { int value = Integer.parseInt(text); - if (value > _maxValue) { - setText("" + _maxValue); - } - return ((value >= _minValue) && (value <= _maxValue)); } catch (NumberFormatException nfe) { return false;