2011-12-26 24 views
5

Soy un principiante en Java y NetBeans. Intento hacer un programa simple donde introduzcas 2 números y su suma se divide por dos. Sin embargo, estoy usando JFormattedTExtField sy no sé cómo personalizar la entrada permitida en ellos. Básicamente estoy tratando de averiguar cómo:Cómo establecer jFormattedTextField para que solo permita 2 números?

  • Permitir solo el ingreso de números en JFormmatedTextField;
  • Solo permite una cierta cantidad de números;
+1

puede haber tienes vistazo a JSpinner también, – mKorbel

Respuesta

9

Puede usar un NumberFormat y especificar la cantidad máxima de dígitos enteros con setMaximumIntegerDigits.

Aquí hay un bonito article.

Básicamente se puede hacer algo como:

NumberFormat f = NumberFormat.getNumberInstance(); 
f.setMaximumIntegerDigits(maxDigitsAmount); 
JFormattedTextField field = new JFormattedTextField(f); 

El Format debe garantizar que la cadena insertada satisfacer el formato. De todos modos, incluso si se proporciona un número, el campo de texto lo almacenará como una cadena. Así que si usted necesita su Entero original que necesita para su reconstrucción como @noise sugerido:

Integer i = Integer.toString(field.getText()); 
+0

Gracias! Oh y otra cosa. Si alguien puede decirme cómo configurar el texto de un campo de texto en un int? Ejemplo, tengo 2 ints (Los valores ingresados ​​en los 2 cuadros de texto) y un rezult int, que es igual a la suma de los 2 ints. Si llamo a jTextField1.setText (rezult), solicita cadena en lugar de int. ¿Alguna ayuda? – Bugster

+1

use 'Integer.toString (int)' –

+0

Muchas gracias muchachos. Casi lo he arreglado, excepto cuando llamo al campo JFormattedTextField = new JFormattedTextField (f); me da un error "No se puede encontrar el símbolo JFormattedTextField". ¿Alguna idea? – Bugster

Cuestiones relacionadas