Java 类javax.swing.text.NumberFormatter 实例源码
项目:wichtel
文件:FormatFactory.java
/**
* Creates a {@link NumberFormatter} for display-mode from a given {@link NumberFormat}.
*
* @param format for the formatter
* @return created {@link NumberFormatter}
* @see NumberFormat
* @see NumberFormatter
* @since 0.0.1
*/
public static NumberFormatter createNumberFormatterDisplay(final NumberFormat format) {
if (log.isDebugEnabled()) log.debug(HelperLog.methodStart(format));
if (null == format) {
throw new RuntimeExceptionIsNull("format"); //$NON-NLS-1$
}
final NumberFormatter result = new NumberFormatter(format) {
private static final long serialVersionUID = -8279122736069976223L;
{
setCommitsOnValidEdit(true);
}
};
if (log.isDebugEnabled()) log.debug(HelperLog.methodExit(result));
return result;
}
项目:LogisticApp
文件:MenuContratacaoTransporteFrame.java
private void initializeTextFields() {
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setDecimalSeparator('.');
NumberFormat format = new DecimalFormat("0.00", symbols);
format.setMaximumFractionDigits(2);
NumberFormatter formatter = new NumberFormatter(format);
formatter.setMinimum(0.0);
formatter.setMaximum(10000000.0);
formatter.setAllowsInvalid(false);
this.txtPeso = new JFormattedTextField(formatter);
this.txtPeso.setValue(0.0);
GridBagConstraints gbc_textField = new GridBagConstraints();
gbc_textField.gridwidth = 10;
gbc_textField.insets = new Insets(0, 0, 5, 0);
gbc_textField.fill = GridBagConstraints.BOTH;
gbc_textField.gridx = 2;
gbc_textField.gridy = 10;
this.panelSecond.add(this.txtPeso, gbc_textField);
this.txtPeso.setColumns(10);
}
项目:schneckenrennen
文件:WettDialog.java
/**
* Creates a new WettDialog and displays the given array of snails.
* @param parent The Form opening this dialog
* @param schneggen The array of snails to display
* @param wettbueroFactor The factor the Wettbuero uses.
*/
public WettDialog(Frame parent, ArrayList<Rennschnecke> schneggen, double wettbueroFactor) {
super(parent, true);
initComponents();
NumberFormat format = NumberFormat.getCurrencyInstance();
format.setMinimumFractionDigits(2);
format.setMaximumFractionDigits(2);
NumberFormatter nf = new NumberFormatter(format);
nf.setMinimum(0.02);
// The maximum bet value is, well, pretty high.
nf.setMaximum(Double.MAX_VALUE / wettbueroFactor);
nf.setAllowsInvalid(false);
nf.setCommitsOnValidEdit(true);
nf.setOverwriteMode(false);
einsatzInput.setFormatterFactory(
new DefaultFormatterFactory(nf)
);
result = null;
snailList.setModel(new DefaultListModel<>());
snailList.setListData(schneggen.toArray(new Rennschnecke[schneggen.size()]));
}
项目:orbit-image-analysis
文件:NumberPropertyEditor.java
public NumberPropertyEditor(Class type) {
if (!Number.class.isAssignableFrom(type)) {
throw new IllegalArgumentException("type must be a subclass of Number");
}
editor = new JFormattedTextField();
this.type = type;
((JFormattedTextField)editor).setValue(getDefaultValue());
((JFormattedTextField)editor).setBorder(LookAndFeelTweaks.EMPTY_BORDER);
// use a custom formatter to have numbers with up to 64 decimals
NumberFormat format = NumberConverters.getDefaultFormat();
((JFormattedTextField) editor).setFormatterFactory(
new DefaultFormatterFactory(new NumberFormatter(format))
);
}
项目:DigitalMediaServer
文件:CustomJSpinner.java
/**
* Construct a <code>JSpinner</code> editor that supports displaying and
* editing the value of a <code>SpinnerIntModel</code> with a
* <code>JFormattedTextField</code>. <code>This</code>
* <code>IntegerEditor</code> becomes both a <code>ChangeListener</code>
* on the spinner and a <code>PropertyChangeListener</code> on the new
* <code>JFormattedTextField</code>.
*
* @param spinner the spinner whose model <code>this</code> editor will
* monitor
* @param format the <code>NumberFormat</code> object that's used to
* display and parse the value of the text field.
* @exception IllegalArgumentException if the spinners model is not an
* instance of <code>SpinnerIntModel</code>
*
* @see #getTextField
* @see SpinnerIntModel
* @see java.text.DecimalFormat
*/
private IntegerEditor(JSpinner spinner, NumberFormat format) {
super(spinner);
if (!(spinner.getModel() instanceof SpinnerIntModel)) {
throw new IllegalArgumentException("model not a SpinnerIntModel");
}
format.setGroupingUsed(false);
format.setMaximumFractionDigits(0);
SpinnerIntModel model = (SpinnerIntModel) spinner.getModel();
NumberFormatter formatter = new IntegerEditorFormatter(model, format);
DefaultFormatterFactory factory = new DefaultFormatterFactory(formatter);
JFormattedTextField ftf = getTextField();
ftf.setEditable(true);
ftf.setFormatterFactory(factory);
ftf.setHorizontalAlignment(JTextField.RIGHT);
try {
String minString = formatter.valueToString(model.getMinimum());
String maxString = formatter.valueToString(model.getMaximum());
// Trying to approximate the width difference between "m" and "0" by multiplying with 0.7
ftf.setColumns((int) Math.round(0.7 * Math.max(maxString.length(), minString.length())));
} catch (ParseException e) {
// Nothing to do, the component width will simply be the default
}
}
项目:vortex
文件:Formatter.java
public static String formatNumber(Number num, int digits) {
String s = "0.";
for (int i = 0; i < digits; i++) {
s += "0";
}
DecimalFormat df = new DecimalFormat(s);
NumberFormatter nf = new NumberFormatter(df);
String out = "Illegal Format";
try {
out = nf.valueToString(num);
} catch (ParseException e) {
}
return out;
}
项目:vortex
文件:Formatter.java
public static String formatNumber(Number num, int digits) {
String s = "0.";
for (int i = 0; i < digits; i++) {
s += "0";
}
DecimalFormat df = new DecimalFormat(s);
NumberFormatter nf = new NumberFormatter(df);
String out = "Illegal Format";
try {
out = nf.valueToString(num);
} catch (ParseException e) {
}
return out;
}
项目:erp
文件:Bradesco.java
public String getValorTitulo() {
String zeros = "0000000000";
DefaultFormatter formatter = new NumberFormatter(new DecimalFormat("#,##0.00"));
String valor = "";
try {
valor = formatter.valueToString(getValorTituloBigDecimal());
}
catch (Exception ex) {
}
valor = valor.replace(",", "").replace(".", "");
String valorTitulo = zeros.substring(0, zeros.length() - valor.length()) + valor;
return valorTitulo;
}
项目:erp
文件:CaixaEconomica.java
public String getValorTitulo() {
String zeros = "0000000000";
DefaultFormatter formatter = new NumberFormatter(new DecimalFormat("#,##0.00"));
String valor = "";
try {
valor = formatter.valueToString(getValorTituloBigDecimal());
}
catch (Exception ex) {
}
valor = valor.replace(",", "").replace(".", "");
String valorTitulo = zeros.substring(0, zeros.length() - valor.length()) + valor;
return valorTitulo;
}
项目:Net2Plan
文件:JNumberField.java
public JNumberField(double defaultNumber, double minValue, double maxValue, double increment)
{
super(new SpinnerNumberModel(defaultNumber, minValue, maxValue, increment));
final NumberEditor editor = (NumberEditor) this.getEditor();
editor.getFormat().setMinimumFractionDigits(2);
editor.getFormat().setMaximumFractionDigits(6);
final JFormattedTextField spinnerTextEditor = editor.getTextField();
spinnerTextEditor.setColumns(6);
spinnerTextEditor.setHorizontalAlignment(JTextField.CENTER);
final NumberFormatter numberFormatter = new NumberFormatter(editor.getFormat());
numberFormatter.setValueClass(Double.class);
numberFormatter.setMinimum(0d);
numberFormatter.setMaximum(Double.MAX_VALUE);
numberFormatter.setAllowsInvalid(false);
spinnerTextEditor.setFormatterFactory(new JFormattedTextField(numberFormatter).getFormatterFactory());
}
项目:la-images
文件:ExportAllAsPngDialog.java
private JPanel getImageSizePanel() {
JPanel imageSizePanel = new JPanel();
imageSizePanel.setLayout(new GridLayout(1, 4));
NumberFormat format = NumberFormat.getInstance();
format.setGroupingUsed(false);
NumberFormatter formatter = new NumberFormatter(format);
formatter.setValueClass(Integer.class);
formatter.setMinimum(0);
formatter.setMaximum(Integer.MAX_VALUE);
formatter.setCommitsOnValidEdit(true);
widthTF = new JFormattedTextField(formatter);
widthTF.setValue(1200);
addFocusListener(widthTF);
heightTF = new JFormattedTextField(formatter);
heightTF.setValue(1000);
addFocusListener(heightTF);
imageSizePanel.add(new JLabel(" Width:"));
imageSizePanel.add(widthTF);
imageSizePanel.add(new JLabel(" Height:"));
imageSizePanel.add(heightTF);
return imageSizePanel;
}
项目:la-images
文件:ExportAsPngDialog.java
private JPanel getImageSizePanel() {
JPanel imageSizePanel = new JPanel();
imageSizePanel.setLayout(new GridLayout(1, 4));
NumberFormat format = NumberFormat.getInstance();
format.setGroupingUsed(false);
NumberFormatter formatter = new NumberFormatter(format);
formatter.setValueClass(Integer.class);
formatter.setMinimum(0);
formatter.setMaximum(Integer.MAX_VALUE);
formatter.setCommitsOnValidEdit(true);
widthTF = new JFormattedTextField(formatter);
widthTF.setValue(1200);
widthTF.addFocusListener(FOCUS_LISTENER);
heightTF = new JFormattedTextField(formatter);
heightTF.setValue(1000);
heightTF.addFocusListener(FOCUS_LISTENER);
imageSizePanel.add(new JLabel(" Width:"));
imageSizePanel.add(widthTF);
imageSizePanel.add(new JLabel(" Height:"));
imageSizePanel.add(heightTF);
return imageSizePanel;
}
项目:MercuryTrade
文件:ComponentsFactory.java
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;
}
项目:MDD-JPA
文件:JIntegerTextField.java
public JIntegerTextField() {
super();
DecimalFormat df = new DecimalFormat("####");
nf = new NumberFormatter(df) {
@Override
public String valueToString(Object iv) throws ParseException {
if ((iv == null) || (((Number) iv).intValue() == -1)) {
return "";
}
return super.valueToString(iv);
}
@Override
public Object stringToValue(String text) throws ParseException {
if ("".equals(text)) {
return null;
}
return super.stringToValue(text);
}
};
nf.setValueClass(Integer.class);
this.setFormatter(nf);
}
项目:intellij-ce-playground
文件:SingleIntegerFieldOptionsPanel.java
/**
* Sets integer number format to JFormattedTextField instance,
* sets value of JFormattedTextField instance to object's field value,
* synchronizes object's field value with the value of JFormattedTextField instance.
*
* @param textField JFormattedTextField instance
* @param owner an object whose field is synchronized with {@code textField}
* @param property object's field name for synchronization
*/
public static void setupIntegerFieldTrackingValue(final JFormattedTextField textField,
final InspectionProfileEntry owner,
final String property) {
NumberFormat formatter = NumberFormat.getIntegerInstance();
formatter.setParseIntegerOnly(true);
textField.setFormatterFactory(new DefaultFormatterFactory(new NumberFormatter(formatter)));
textField.setValue(getPropertyValue(owner, property));
final Document document = textField.getDocument();
document.addDocumentListener(new DocumentAdapter() {
@Override
public void textChanged(DocumentEvent e) {
try {
textField.commitEdit();
setPropertyValue(owner, property,
((Number) textField.getValue()).intValue());
} catch (ParseException e1) {
// No luck this time
}
}
});
}
项目:youscope
文件:PropertyDoubleEditor.java
/**
* Constructor.
* @param property The property which should be edited.
* @param configuration The configuration which should be edited.
* @param client YouScope client
* @param server YouScope server.
* @throws GenericException
*/
public PropertyDoubleEditor(Property property, Configuration configuration, YouScopeClient client, YouScopeServer server) throws GenericException
{
super(property, configuration, client, server, Double.class, double.class);
field = new JFormattedTextField(new NumberFormatter(getDoubleFormat()));
field.setValue(getValue(Double.class));
addLabel();
add(field);
field.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
try
{
commitEdits();
notifyPropertyValueChanged();
}
catch (GenericException e1)
{
sendErrorMessage("Could not set value of property " + getProperty().getName() + ".", e1);
}
}
});
}
项目:l2fprod-properties-editor
文件:NumberPropertyEditor.java
public NumberPropertyEditor(Class<?> type) {
if (!Number.class.isAssignableFrom(type)) {
throw new IllegalArgumentException("type must be a subclass of Number");
}
editor = new JFormattedTextField();
this.type = type;
((JFormattedTextField) editor).setValue(getDefaultValue());
((JFormattedTextField) editor).setBorder(LookAndFeelTweaks.EMPTY_BORDER);
// use a custom formatter to have numbers with up to 64 decimals
NumberFormat format = NumberConverters.DEFAULT_FORMAT;
((JFormattedTextField) editor).setFormatterFactory(
new DefaultFormatterFactory(new NumberFormatter(format))
);
}
项目:ct-sim
文件:StatusBar.java
/**
* Erzeugt ein Anzeigefeld fuer den Simulatortakt
*/
@SuppressWarnings("boxing") void initTickRateField() {
NumberFormatter formatter = new NumberFormatter(NumberFormat.getInstance());
formatter.setMinimum(StatusBar.MIN_TICK_RATE);
formatter.setMaximum(StatusBar.MAX_TICK_RATE);
tickRateField = new JFormattedTextField(formatter);
tickRateField.setValue(INIT_TICK_RATE);
tickRateField.setColumns(3);
tickRateField.setHorizontalAlignment(SwingConstants.CENTER);
tickRateField.setMinimumSize(new Dimension(44, 22));
tickRateField.setMaximumSize(new Dimension(44, 22));
tickRateField.setPreferredSize(new Dimension(44, 22));
tickRateField.addPropertyChangeListener(new PropertyChangeListener() {
@SuppressWarnings("synthetic-access")
public void propertyChange(PropertyChangeEvent evt) {
if ("value".equals(evt.getPropertyName())) {
tickRateSlider.setValue((Integer) tickRateField.getValue());
}
}
});
}
项目:Tracking-AI
文件:RemoteController.java
private void initFormats() {
nfInteger = NumberFormat.getIntegerInstance();
NumberFormatter nf = new NumberFormatter(nfInteger);
nf.setMaximum(Server.MAX_PORT_INDEX);
nf.setMinimum(0);
NumberFormat editFormat = NumberFormat.getIntegerInstance();
editFormat.setGroupingUsed(false);
NumberFormatter editFormatter = new NumberFormatter(editFormat);
editFormatter.setMaximum(Server.MAX_PORT_INDEX);
editFormatter.setMinimum(0);
integerFormatter = new DefaultFormatterFactory(nf, nf, editFormatter, nf);
port.setFormatterFactory(integerFormatter);
port.setValue(28015);
refreshFrequency.setFormatterFactory(integerFormatter);
refreshFrequency.setValue(1);
}
项目:CodenameOne
文件:NumberPropertyEditor.java
public NumberPropertyEditor(Class type) {
if (!Number.class.isAssignableFrom(type)) {
throw new IllegalArgumentException("type must be a subclass of Number");
}
editor = new JFormattedTextField();
this.type = type;
((JFormattedTextField)editor).setValue(getDefaultValue());
((JFormattedTextField)editor).setBorder(LookAndFeelTweaks.EMPTY_BORDER);
// use a custom formatter to have numbers with up to 64 decimals
NumberFormat format = NumberConverters.getDefaultFormat();
((JFormattedTextField) editor).setFormatterFactory(
new DefaultFormatterFactory(new NumberFormatter(format))
);
}
项目:hql-builder
文件:PropertyPanel.java
public BigIntegerEditor() {
Class t = BigInteger.class;
if (!Number.class.isAssignableFrom(t)) {
throw new IllegalArgumentException("type must be a subclass of Number");
}
editor = new JFormattedTextField();
this.type = t;
((JFormattedTextField) editor).setValue(getDefaultValue());
((JFormattedTextField) editor).setBorder(LookAndFeelTweaks.EMPTY_BORDER);
// use a custom formatter to have numbers with up to 64 decimals
format = NumberConverters.getDefaultFormat();
((JFormattedTextField) editor).setFormatterFactory(new DefaultFormatterFactory(new NumberFormatter(format)));
}
项目:hql-builder
文件:PropertyPanel.java
public BigDecimalEditor() {
Class t = BigDecimal.class;
if (!Number.class.isAssignableFrom(t)) {
throw new IllegalArgumentException("type must be a subclass of Number");
}
editor = new JFormattedTextField();
this.type = t;
((JFormattedTextField) editor).setValue(getDefaultValue());
((JFormattedTextField) editor).setBorder(LookAndFeelTweaks.EMPTY_BORDER);
// use a custom formatter to have numbers with up to 64 decimals
format = NumberConverters.getDefaultFormat();
((JFormattedTextField) editor).setFormatterFactory(new DefaultFormatterFactory(new NumberFormatter(format)));
}
项目:hypertalk-java
文件:StackSizeEditor.java
public static Dimension editStackSize(Dimension currentSize, Component parent) {
StackSizeEditor dialog = new StackSizeEditor();
dialog.stackDimension = currentSize;
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);
dialog.newHeight.setFormatterFactory(new DefaultFormatterFactory(formatter));
dialog.newWidth.setFormatterFactory(new DefaultFormatterFactory(formatter));
dialog.currentStackSize.setText("Stack is " + currentSize.width + "px by " + currentSize.height + "px");
dialog.newWidth.setText(String.valueOf(currentSize.width));
dialog.newHeight.setText(String.valueOf(currentSize.height));
dialog.pack();
dialog.setLocationRelativeTo(parent);
dialog.setVisible(true);
return dialog.stackDimension;
}
项目:dohko
文件:InstanceSelectionPanel.java
/**
* Creates new form InstanceSelection
*/
public InstanceSelectionPanel(ProviderService providerService)
{
this.providerService_ = providerService;
this.providers_ = providerService_.providers();
this.regions_ = providerService_.allRegions();
initComponents();
((NumberFormatter) ((JSpinner.NumberEditor) spnCpu.getEditor()).getTextField().getFormatter()).setAllowsInvalid(false);
((NumberFormatter) ((JSpinner.NumberEditor) spnFlops.getEditor()).getTextField().getFormatter()).setAllowsInvalid(false);
((NumberFormatter) ((JSpinner.NumberEditor) spnMemory.getEditor()).getTextField().getFormatter()).setAllowsInvalid(false);
((NumberFormatter) tfCost.getFormatter()).setAllowsInvalid(false);
this.lblMessage.setVisible(false);
this.btnRecommend.setVisible(false);
}
项目:svarog
文件:SpinnerNumberEditor.java
/**
* Constructor.
* Sets the DefaultFormatterFactory created based on {@link
* NumberEditorFormatter} in the text field.
* @param spinner the spinner for which this editor is used
* @param format the format of the numbers shown in the spinner
*/
public SpinnerNumberEditor(JSpinner spinner, DecimalFormat format) {
super(spinner);
if (!(spinner.getModel() instanceof BoundedSpinnerModel)) {
throw new IllegalArgumentException(
"model not a BoundedSpinnerModel");
}
BoundedSpinnerModel model = (BoundedSpinnerModel) spinner.getModel();
NumberFormatter formatter = new NumberEditorFormatter(model, format);
DefaultFormatterFactory factory = new DefaultFormatterFactory(formatter);
JFormattedTextField ftf = getTextField();
ftf.setEditable(true);
ftf.setFormatterFactory(factory);
ftf.setHorizontalAlignment(JTextField.RIGHT);
try {
String maxString = formatter.valueToString(model.getMinimum());
String minString = formatter.valueToString(model.getMaximum());
ftf.setColumns(Math.max(maxString.length(),minString.length()));
} catch (ParseException e) {
}
}
项目:cn1
文件:JFormattedTextFieldTest.java
public void testCreateFormattersFactory() {
DefaultFormatterFactory factory;
tf.setValue(new Integer(34));
factory = getFactoryIfDefault(tf.getFormatterFactory());
assertTrue(factory.getDefaultFormatter() instanceof NumberFormatter);
//TODO: check if factory.getDefaultFormatter() should be same to factory.getDisplayFormatter()
// or factory.getEditFormatter().
assertNull(factory.getNullFormatter());
tf.setFormatterFactory(null);
tf.setValue(new Date());
factory = getFactoryIfDefault(tf.getFormatterFactory());
assertTrue(factory.getDefaultFormatter() instanceof DateFormatter);
assertNull(factory.getDisplayFormatter());
assertNull(factory.getEditFormatter());
assertNull(factory.getNullFormatter());
tf.setFormatterFactory(null);
tf.setValue("sdffsdf");
factory = getFactoryIfDefault(tf.getFormatterFactory());
checkDefaultFormatter(factory);
tf.setFormatterFactory(null);
tf.setValue(Color.RED);
factory = getFactoryIfDefault(tf.getFormatterFactory());
checkDefaultFormatter(factory);
}
项目:cn1
文件:JSpinnerTest.java
public void testNumberEditor_NumberEditor() {
spinner.getModel().setValue(new Integer(5));
NumberEditor numEditor = new NumberEditor(spinner);
spinner.setEditor(numEditor);
assertTrue(numEditor.getTextField().isEditable());
assertTrue(numEditor.getTextField().getFormatter() instanceof NumberFormatter);
assertEquals(numEditor.getTextField().getValue(), new Integer(5));
assertSame(((NumberFormatter) numEditor.getTextField().getFormatter()).getValueClass(),
Integer.class);
assertNull(((NumberFormatter) numEditor.getTextField().getFormatter()).getMinimum());
assertNull(((NumberFormatter) numEditor.getTextField().getFormatter()).getMaximum());
assertTrue(numEditor.getFormat().equals(new DecimalFormat()));
spinner.setModel(abstractModel);
testExceptionalCase(new IllegalArgumentCase() {
@Override
public void exceptionalAction() throws Exception {
new JSpinner.NumberEditor(spinner);
}
});
}
项目:cn1
文件:JSpinnerTest.java
public void testNumberEditor_formatter() {
NumberEditor numEditor = new NumberEditor(spinner);
spinner.setEditor(numEditor);
final Integer max1 = new Integer(777);
NumberFormatter numberFormatter = ((NumberFormatter) numEditor.getTextField()
.getFormatter());
numberFormatter.setMaximum(max1);
assertSame(numberFormatter.getMaximum(), max1);
assertSame(numEditor.getModel().getMaximum(), max1);
final Integer max2 = new Integer(555);
numEditor.getModel().setMaximum(max2);
assertSame(numberFormatter.getMaximum(), max2);
assertSame(numEditor.getModel().getMaximum(), max2);
SpinnerNumberModel old = (SpinnerNumberModel) spinner.getModel();
spinner.setModel(abstractModel);
final Integer max3 = new Integer(333);
old.setMaximum(max3);
assertSame(((NumberFormatter) ((NumberEditor) spinner.getEditor()).getTextField()
.getFormatter()).getMaximum(), max3);
}
项目:cn1
文件:NumberPropertyEditor.java
public NumberPropertyEditor(Class type) {
if (!Number.class.isAssignableFrom(type)) {
throw new IllegalArgumentException("type must be a subclass of Number");
}
editor = new JFormattedTextField();
this.type = type;
((JFormattedTextField)editor).setValue(getDefaultValue());
((JFormattedTextField)editor).setBorder(LookAndFeelTweaks.EMPTY_BORDER);
// use a custom formatter to have numbers with up to 64 decimals
NumberFormat format = NumberConverters.getDefaultFormat();
((JFormattedTextField) editor).setFormatterFactory(
new DefaultFormatterFactory(new NumberFormatter(format))
);
}
项目:magarena
文件:DecksFilterDialog.java
private void setLookAndFeel() {
setOpaque(false);
setLayout(migLayout);
setPreferredSize(new Dimension(0, 30));
// filter combo
numericFilterCombo.setModel(new DefaultComboBoxModel<>(NumericFilter.values()));
// spinner1
sizeSpinner1.setVisible(false);
// allow only numeric characters to be recognised.
sizeSpinner1.setEditor(new JSpinner.NumberEditor(sizeSpinner1,"#"));
final JFormattedTextField txt1 = ((JSpinner.NumberEditor) sizeSpinner1.getEditor()).getTextField();
((NumberFormatter)txt1.getFormatter()).setAllowsInvalid(false);
// spinner2
sizeSpinner2.setVisible(false);
// allow only numeric characters to be recognised.
sizeSpinner2.setEditor(new JSpinner.NumberEditor(sizeSpinner2,"#"));
final JFormattedTextField txt2 = ((JSpinner.NumberEditor) sizeSpinner2.getEditor()).getTextField();
((NumberFormatter)txt2.getFormatter()).setAllowsInvalid(false);
}
项目:jets3t-aws-roles
文件:ByteFormatter.java
/**
* Constructs a formatter that will use the given values when formatting byte values.
*
* @param gigabyteSuffix
* string to display at the end of gigabyte values.
* @param megabyteSuffix
* string to display at the end of megabyte values.
* @param kilobyteSuffix
* string to display at the end of kilobyte values.
* @param byteSuffix
* string to display at the end of byte values.
* @param decimalPlaces
* the number of decimal places to use when converting byte amounts into kilo, mega or giga
* byte values.
*/
public ByteFormatter(String gigabyteSuffix, String megabyteSuffix, String kilobyteSuffix,
String byteSuffix, int decimalPlaces)
{
this.gigabyteSuffix = gigabyteSuffix;
this.megabyteSuffix = megabyteSuffix;
this.kilobyteSuffix = kilobyteSuffix;
this.byteSuffix = byteSuffix;
StringBuilder numberFormatString = new StringBuilder();
numberFormatString.append("0").append((decimalPlaces > 0? "." : ""));
for (int i = 0; i < decimalPlaces; i++) {
numberFormatString.append("0");
}
nf = new NumberFormatter(new DecimalFormat(numberFormatString.toString()));
}
项目:tools-idea
文件:SingleIntegerFieldOptionsPanel.java
/**
* Sets integer number format to JFormattedTextField instance,
* sets value of JFormattedTextField instance to object's field value,
* synchronizes object's field value with the value of JFormattedTextField instance.
*
* @param textField JFormattedTextField instance
* @param owner an object whose field is synchronized with {@code textField}
* @param property object's field name for synchronization
*/
public static void setupIntegerFieldTrackingValue(final JFormattedTextField textField,
final InspectionProfileEntry owner,
final String property) {
NumberFormat formatter = NumberFormat.getIntegerInstance();
formatter.setParseIntegerOnly(true);
textField.setFormatterFactory(new DefaultFormatterFactory(new NumberFormatter(formatter)));
textField.setValue(getPropertyValue(owner, property));
final Document document = textField.getDocument();
document.addDocumentListener(new DocumentAdapter() {
@Override
public void textChanged(DocumentEvent e) {
try {
textField.commitEdit();
setPropertyValue(owner, property,
((Number) textField.getValue()).intValue());
} catch (ParseException e1) {
// No luck this time
}
}
});
}
项目:freeVM
文件:JFormattedTextFieldTest.java
public void testCreateFormattersFactory() {
DefaultFormatterFactory factory;
tf.setValue(new Integer(34));
factory = getFactoryIfDefault(tf.getFormatterFactory());
assertTrue(factory.getDefaultFormatter() instanceof NumberFormatter);
//TODO: check if factory.getDefaultFormatter() should be same to factory.getDisplayFormatter()
// or factory.getEditFormatter().
assertNull(factory.getNullFormatter());
tf.setFormatterFactory(null);
tf.setValue(new Date());
factory = getFactoryIfDefault(tf.getFormatterFactory());
assertTrue(factory.getDefaultFormatter() instanceof DateFormatter);
assertNull(factory.getDisplayFormatter());
assertNull(factory.getEditFormatter());
assertNull(factory.getNullFormatter());
tf.setFormatterFactory(null);
tf.setValue("sdffsdf");
factory = getFactoryIfDefault(tf.getFormatterFactory());
checkDefaultFormatter(factory);
tf.setFormatterFactory(null);
tf.setValue(Color.RED);
factory = getFactoryIfDefault(tf.getFormatterFactory());
checkDefaultFormatter(factory);
}
项目:freeVM
文件:JSpinnerTest.java
public void testNumberEditor_NumberEditor() {
spinner.getModel().setValue(new Integer(5));
NumberEditor numEditor = new NumberEditor(spinner);
spinner.setEditor(numEditor);
assertTrue(numEditor.getTextField().isEditable());
assertTrue(numEditor.getTextField().getFormatter() instanceof NumberFormatter);
assertEquals(numEditor.getTextField().getValue(), new Integer(5));
assertSame(((NumberFormatter) numEditor.getTextField().getFormatter()).getValueClass(),
Integer.class);
assertNull(((NumberFormatter) numEditor.getTextField().getFormatter()).getMinimum());
assertNull(((NumberFormatter) numEditor.getTextField().getFormatter()).getMaximum());
assertTrue(numEditor.getFormat().equals(new DecimalFormat()));
spinner.setModel(abstractModel);
testExceptionalCase(new IllegalArgumentCase() {
@Override
public void exceptionalAction() throws Exception {
new JSpinner.NumberEditor(spinner);
}
});
}
项目:freeVM
文件:JSpinnerTest.java
public void testNumberEditor_formatter() {
NumberEditor numEditor = new NumberEditor(spinner);
spinner.setEditor(numEditor);
final Integer max1 = new Integer(777);
NumberFormatter numberFormatter = ((NumberFormatter) numEditor.getTextField()
.getFormatter());
numberFormatter.setMaximum(max1);
assertSame(numberFormatter.getMaximum(), max1);
assertSame(numEditor.getModel().getMaximum(), max1);
final Integer max2 = new Integer(555);
numEditor.getModel().setMaximum(max2);
assertSame(numberFormatter.getMaximum(), max2);
assertSame(numEditor.getModel().getMaximum(), max2);
SpinnerNumberModel old = (SpinnerNumberModel) spinner.getModel();
spinner.setModel(abstractModel);
final Integer max3 = new Integer(333);
old.setMaximum(max3);
assertSame(((NumberFormatter) ((NumberEditor) spinner.getEditor()).getTextField()
.getFormatter()).getMaximum(), max3);
}
项目:freeVM
文件:JFormattedTextFieldTest.java
public void testCreateFormattersFactory() {
DefaultFormatterFactory factory;
tf.setValue(new Integer(34));
factory = getFactoryIfDefault(tf.getFormatterFactory());
assertTrue(factory.getDefaultFormatter() instanceof NumberFormatter);
//TODO: check if factory.getDefaultFormatter() should be same to factory.getDisplayFormatter()
// or factory.getEditFormatter().
assertNull(factory.getNullFormatter());
tf.setFormatterFactory(null);
tf.setValue(new Date());
factory = getFactoryIfDefault(tf.getFormatterFactory());
assertTrue(factory.getDefaultFormatter() instanceof DateFormatter);
assertNull(factory.getDisplayFormatter());
assertNull(factory.getEditFormatter());
assertNull(factory.getNullFormatter());
tf.setFormatterFactory(null);
tf.setValue("sdffsdf");
factory = getFactoryIfDefault(tf.getFormatterFactory());
checkDefaultFormatter(factory);
tf.setFormatterFactory(null);
tf.setValue(Color.RED);
factory = getFactoryIfDefault(tf.getFormatterFactory());
checkDefaultFormatter(factory);
}
项目:freeVM
文件:JSpinnerTest.java
public void testNumberEditor_NumberEditor() {
spinner.getModel().setValue(new Integer(5));
NumberEditor numEditor = new NumberEditor(spinner);
spinner.setEditor(numEditor);
assertTrue(numEditor.getTextField().isEditable());
assertTrue(numEditor.getTextField().getFormatter() instanceof NumberFormatter);
assertEquals(numEditor.getTextField().getValue(), new Integer(5));
assertSame(((NumberFormatter) numEditor.getTextField().getFormatter()).getValueClass(),
Integer.class);
assertNull(((NumberFormatter) numEditor.getTextField().getFormatter()).getMinimum());
assertNull(((NumberFormatter) numEditor.getTextField().getFormatter()).getMaximum());
assertTrue(numEditor.getFormat().equals(new DecimalFormat()));
spinner.setModel(abstractModel);
testExceptionalCase(new IllegalArgumentCase() {
@Override
public void exceptionalAction() throws Exception {
new JSpinner.NumberEditor(spinner);
}
});
}
项目:freeVM
文件:JSpinnerTest.java
public void testNumberEditor_formatter() {
NumberEditor numEditor = new NumberEditor(spinner);
spinner.setEditor(numEditor);
final Integer max1 = new Integer(777);
NumberFormatter numberFormatter = ((NumberFormatter) numEditor.getTextField()
.getFormatter());
numberFormatter.setMaximum(max1);
assertSame(numberFormatter.getMaximum(), max1);
assertSame(numEditor.getModel().getMaximum(), max1);
final Integer max2 = new Integer(555);
numEditor.getModel().setMaximum(max2);
assertSame(numberFormatter.getMaximum(), max2);
assertSame(numEditor.getModel().getMaximum(), max2);
SpinnerNumberModel old = (SpinnerNumberModel) spinner.getModel();
spinner.setModel(abstractModel);
final Integer max3 = new Integer(333);
old.setMaximum(max3);
assertSame(((NumberFormatter) ((NumberEditor) spinner.getEditor()).getTextField()
.getFormatter()).getMaximum(), max3);
}
项目:consulo
文件:SingleIntegerFieldOptionsPanel.java
/**
* Sets integer number format to JFormattedTextField instance,
* sets value of JFormattedTextField instance to object's field value,
* synchronizes object's field value with the value of JFormattedTextField instance.
*
* @param textField JFormattedTextField instance
* @param owner an object whose field is synchronized with {@code textField}
* @param property object's field name for synchronization
*/
public static void setupIntegerFieldTrackingValue(final JFormattedTextField textField,
final InspectionProfileEntry owner,
final String property) {
NumberFormat formatter = NumberFormat.getIntegerInstance();
formatter.setParseIntegerOnly(true);
textField.setFormatterFactory(new DefaultFormatterFactory(new NumberFormatter(formatter)));
textField.setValue(getPropertyValue(owner, property));
final Document document = textField.getDocument();
document.addDocumentListener(new DocumentAdapter() {
@Override
public void textChanged(DocumentEvent e) {
try {
textField.commitEdit();
setPropertyValue(owner, property,
((Number) textField.getValue()).intValue());
} catch (ParseException e1) {
// No luck this time
}
}
});
}
项目:fll-sw
文件:FormatterUtils.java
/**
* @param min minimum value
* @param max maximum value
* @return text field for editing integers
*/
public static JFormattedTextField createIntegerField(final int min,
final int max) {
final NumberFormatter def = new NumberFormatter();
def.setValueClass(Integer.class);
final NumberFormatter disp = new NumberFormatter((new DecimalFormat("#,###,##0")));
disp.setValueClass(Integer.class);
final NumberFormatter ed = new NumberFormatter((new DecimalFormat("#,###,##0")));
ed.setValueClass(Integer.class);
final DefaultFormatterFactory factory = new DefaultFormatterFactory(def, disp, ed);
final JFormattedTextField field = new JFormattedTextField(factory);
field.setValue(Integer.valueOf(min));
field.setInputVerifier(new IntegerVerifier(min, max));
return field;
}