metodos java swing textbox numeric jspinner

metodos - jspinner java netbeans



Hacer JSpinner completamente numérico (1)

Podría intentar setAllowsInvalid(false) siguiente manera:

JFormattedTextField txt = ((JSpinner.NumberEditor) mySpinner.getEditor()).getTextField(); ((NumberFormatter) txt.getFormatter()).setAllowsInvalid(false);

Al establecer esta propiedad, Jspinner solo mostrará valores válidos en el campo e ignorará todos los otros valores ingresados ​​por el usuario. Además, el usuario no podrá eliminar el valor completo ingresado en el Jspinner, es decir, si el usuario intenta seleccionar el valor completo y eliminarlo, no será permitido. El usuario puede editar el campo solo con un valor válido de otro modo, parecerá que no se puede editar.

Tengo un Jspinner que puede variar de minimum a maximum en pasos de 0.1 . Esto está funcionando perfectamente bien. Ahora configuro el editor de JSpinner como NumberEditor ya que el usuario puede editar el cuadro de texto y solo quiero valores numéricos. Esto también está funcionando, es lo que sea que el usuario pueda ingresar, el editor me da solo los números en el editor cuando obtengo el valor usando mySpinner.getValue().toString(); . Ahora conos el problema. Quiero que el cuadro de texto acepte solo valores numéricos y .(decimal point) , es decir, si el usuario intenta ingresar algo aparte de 0-9 y . , no debe repetirlo en el cuadro de texto.

JSpinner mySpinner = new JSpinner(); mySpinner.setModel(new SpinnerNumberModel(default,minimum,maximum,0.1)); mySpinner.setEditor(new JSpinner.NumberEditor(mySpinner,"##.#"));

Puede alguien ayudarme con esto. Gracias :)