public static void main(String[] args) { NumberFormat format = NumberFormat.getInstance(); NumberFormatter formatter = new NumberFormatter(format); formatter.setValueClass(Integer.class); formatter.setMinimum(0); formatter.setMaximum(Integer.MAX_VALUE); formatter.setAllowsInvalid(false); // If you want the value to be committed on each keystroke instead of focus lost formatter.setCommitsOnValidEdit(true); JFormattedTextField field = new JFormattedTextField(formatter); JOptionPane.showMessageDialog(null, field); // getValue() always returns something valid System.out.println(field.getValue()); }
private void createUIComponents() { NumberFormat format = NumberFormat.getIntegerInstance(); NumberFormatter numberFormatter = new NumberFormatter(format); numberFormatter.setValueClass(Integer.class); numberFormatter.setAllowsInvalid(false); numberFormatter.setMinimum(1); numberFormatter.setCommitsOnValidEdit(true); targetHeight = new JFormattedTextField(numberFormatter); targetWidth = new JFormattedTextField(numberFormatter); targetRoot = new FileBrowserField(FileBrowserField.RESOURCE_DIR_CHOOSER); } }
public static NumberFormatter createNumberFormatter() { NumberFormat format = NumberFormat.getNumberInstance(); NumberFormatter formatter = new NumberFormatter(format); formatter.setValueClass(Double.class); formatter.setCommitsOnValidEdit(true); return formatter; }
NumberFormat format = NumberFormat.getInstance(); format.setGroupingUsed(false); NumberFormatter formatter = new NumberFormatter(format); formatter.setValueClass(Integer.class); formatter.setMaximum(65535); formatter.setAllowsInvalid(false); formatter.setCommitsOnValidEdit(true); myTextField = new JFormattedTextField(formatter);
@Override public AbstractFormatter getFormatter(JFormattedTextField tf) { NumberFormatter formatter = new NumberFormatter(new DecimalFormat("#0")); formatter.setValueClass(Integer.class); formatter.setAllowsInvalid(true); formatter.setCommitsOnValidEdit(false); formatter.setMinimum(0); return formatter; }; }
@Override public AbstractFormatter getFormatter(JFormattedTextField tf) { NumberFormatter formatter = new NumberFormatter(new DecimalFormat("#0")); formatter.setValueClass(Integer.class); formatter.setAllowsInvalid(true); formatter.setCommitsOnValidEdit(false); formatter.setMinimum(0); return formatter; }; }
public static NumberFormatter createIntegerFormatter(int minimum, int maximum) { NumberFormat format = NumberFormat.getIntegerInstance(); NumberFormatter formatter = new NumberFormatter(format); formatter.setMinimum(minimum); formatter.setMaximum(maximum); formatter.setValueClass(Integer.class); formatter.setCommitsOnValidEdit(true); return formatter; }
/** * Instantiates a new integer field. * * @param min the min * @param max the max * @param initialValue the initial value */ public IntegerField(int min, int max, int initialValue) { super(); NumberFormatter formatter = new NumberFormatter(numberFormat); formatter.setMinimum(new Integer(min)); formatter.setMaximum(new Integer(max)); formatter.setCommitsOnValidEdit(true); setFormatter(formatter); setValue(new Integer(initialValue)); } }
/** * Provides a convenient integer formatter. * * @return a formatter instance. */ private static NumberFormatter integerNumberFormatter() { NumberFormat format = NumberFormat.getInstance(); NumberFormatter formatter = new NumberFormatter(format); formatter.setValueClass(Integer.class); formatter.setMinimum(0); formatter.setMaximum(Integer.MAX_VALUE); // If you want the value to be committed on each keystroke instead of focus lost formatter.setCommitsOnValidEdit(true); return formatter; }
private AbstractFormatter configureFormatter() { NumberFormat format = NumberFormat.getInstance(); NumberFormatter formatter = new NumberFormatter(format); formatter.setValueClass(Integer.class); formatter.setMinimum(0); formatter.setMaximum(Integer.MAX_VALUE); formatter.setAllowsInvalid(false); formatter.setCommitsOnValidEdit(true); return formatter; }
NumberFormatter numberFormatter = new NumberFormatter( NumberFormat.getIntegerInstance()); // allow or not doesn't make a difference numberFormatter.setAllowsInvalid(false); numberFormatter.setCommitsOnValidEdit(true); JFormattedTextField readTimeOut = new JFormattedTextField(numberFormatter); PropertyChangeListener l = new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { LOG.info("got new value: " + evt.getNewValue()); } }; readTimeOut.addPropertyChangeListener("value", l); readTimeOut.setColumns(20); readTimeOut.setHorizontalAlignment(SwingConstants.RIGHT); JFormattedTextField other = new JFormattedTextField(numberFormatter); other.addPropertyChangeListener("value", l); other.setColumns(20); other.setHorizontalAlignment(SwingConstants.RIGHT); JPanel box = new JPanel(); box.add(readTimeOut); box.add(other);
public JFormattedTextField getIntegerTextField(Integer min, Integer max, Integer value) { NumberFormat format = NumberFormat.getInstance(); NumberFormatter formatter = new NumberFormatter(format); formatter.setValueClass(Integer.class); formatter.setMinimum(min); formatter.setMaximum(max); formatter.setAllowsInvalid(true); formatter.setCommitsOnValidEdit(false); JFormattedTextField field = new JFormattedTextField(formatter); field.setValue(value); field.setFont(REGULAR_FONT.deriveFont(scale * 18)); field.setFocusLostBehavior(JFormattedTextField.PERSIST); field.setForeground(AppThemeColor.TEXT_DEFAULT); field.setCaretColor(AppThemeColor.TEXT_DEFAULT); field.setBorder(BorderFactory.createCompoundBorder( BorderFactory.createLineBorder(AppThemeColor.BORDER, 1), BorderFactory.createLineBorder(AppThemeColor.TRANSPARENT, 3) )); field.setBackground(AppThemeColor.HEADER); return field; }