2121public final class MainPanel extends JPanel {
2222 private MainPanel () {
2323 super (new BorderLayout ());
24+ JTextField field1 = new JTextField ("1000" );
25+ field1 .setHorizontalAlignment (SwingConstants .RIGHT );
26+ field1 .setInputVerifier (new IntegerInputVerifier ());
27+
28+ JTextField field2 = new JTextField ();
29+ field2 .setDocument (new IntegerDocument ());
30+ field2 .setText ("2000" );
31+
32+ JTextField field3 = new JTextField ();
33+ Document doc = field3 .getDocument ();
34+ if (doc instanceof AbstractDocument ) {
35+ ((AbstractDocument ) doc ).setDocumentFilter (new IntegerDocumentFilter ());
36+ }
37+ field3 .setText ("3000" );
2438
25- JTextField textField1 = new JTextField ("1000" );
26- textField1 .setHorizontalAlignment (SwingConstants .RIGHT );
27- textField1 .setInputVerifier (new IntegerInputVerifier ());
28-
29- JTextField textField2 = new JTextField ();
30- textField2 .setDocument (new IntegerDocument ());
31- textField2 .setText ("2000" );
32-
33- JTextField textField3 = new JTextField ();
34- ((AbstractDocument ) textField3 .getDocument ()).setDocumentFilter (new IntegerDocumentFilter ());
35- textField3 .setText ("3000" );
36-
37- JFormattedTextField textField4 = new JFormattedTextField ();
38- textField4 .setFormatterFactory (new NumberFormatterFactory ());
39- textField4 .setHorizontalAlignment (SwingConstants .RIGHT );
40- textField4 .setValue (4000 );
39+ JFormattedTextField field4 = new JFormattedTextField ();
40+ field4 .setFormatterFactory (new NumberFormatterFactory ());
41+ field4 .setHorizontalAlignment (SwingConstants .RIGHT );
42+ field4 .setValue (4000 );
4143
4244 JSpinner spinner = new JSpinner (new SpinnerNumberModel (0 , 0 , Integer .MAX_VALUE , 1 ));
4345 ((JSpinner .NumberEditor ) spinner .getEditor ()).getFormat ().setGroupingUsed (false );
@@ -46,19 +48,19 @@ private MainPanel() {
4648 Box box = Box .createVerticalBox ();
4749 box .setBorder (BorderFactory .createTitledBorder ("TextField" ));
4850 box .add (new JLabel ("InputVerifier" ));
49- box .add (textField1 );
51+ box .add (field1 );
5052 box .add (Box .createVerticalStrut (10 ));
5153
5254 box .add (new JLabel ("Custom Document" ));
53- box .add (textField2 );
55+ box .add (field2 );
5456 box .add (Box .createVerticalStrut (10 ));
5557
5658 box .add (new JLabel ("DocumentFilter" ));
57- box .add (textField3 );
59+ box .add (field3 );
5860 box .add (Box .createVerticalStrut (10 ));
5961
6062 box .add (new JLabel ("FormatterFactory" ));
61- box .add (textField4 );
63+ box .add (field4 );
6264 box .add (Box .createVerticalStrut (10 ));
6365
6466 JPanel p = new JPanel (new BorderLayout (5 , 5 ));
@@ -178,12 +180,12 @@ class IntegerDocumentFilter extends DocumentFilter {
178180 fb .replace (offset , length , text , attrs );
179181 }
180182
181- private static void checkInput (String proposedValue , int offset ) throws BadLocationException {
182- if (!proposedValue .isEmpty ()) {
183+ private static void checkInput (String value , int offset ) throws BadLocationException {
184+ if (!value .isEmpty ()) {
183185 try {
184- Integer .parseInt (proposedValue );
186+ Integer .parseInt (value );
185187 } catch (NumberFormatException ex ) {
186- throw (BadLocationException ) new BadLocationException (proposedValue , offset ).initCause (ex );
188+ throw (BadLocationException ) new BadLocationException (value , offset ).initCause (ex );
187189 }
188190 }
189191 }
0 commit comments