2012-08-24 21 views
5

He estado tratando de personalizar JFormattedTextField para mostrar una máscara para ingresar una dirección IP.¿Cómo personalizar el formateador JFormattedTextField para mostrar una dirección IP?

Leo javadoc, y lo intenté con ###.###.###.###, pero no es válido en muchos casos.

Encontré un artículo para esto, usan Regex para dar formato al valor pero no muestran una máscara para ingresar una IP.

Quiero mostrar 3 puntos en el campo de texto para mostrar la dirección IP. De esta manera:

. . . 

Puedo ingresar una dirección IP en muchos casos. Puede ver en la configuración de IPv4 en Windows.

. . . 

¿Me puede ayudar? Gracias por leer

+3

'He leído javadoc, y he intentado con ###. ###. ###. ###, pero no es válido en muchos casos. 'Quizás error simple, para una mejor ayuda antes publicar un [SSCCE] (http://sscce.org/) mostró su problema con [InputMask y Formatter] (http://docs.oracle.com/javase/tutorial/uiswing/components/formattedtextfield.html) – mKorbel

+2

+1 para agregar la [etiqueta : tarea] etiqueta. –

+0

Lo más probable es que 'MaskFormatter' no sea lo suficientemente flexible como para proporcionar un comportamiento satisfactorio. ¿Necesita _necesitar' MaskFormatter' o fue solo lo que pasó a probar? –

Respuesta

2

Sé que esto no te ayudará con tu tarea, pero para otras personas que buscan una solución: Jidesoft Grids (no estoy afiliado) tiene una clase para esto: com.jidesoft.field.IPTextField.

En general, creo que será difícil lograr una solución satisfactoria con JFormattedTextField.

2

Puede probar cuatro JFormattedTextField en una fila, cada uno separado por un JLabel("."). Con el punto fuera del camino, eso podría hacer que el formato numérico sea más fácil de obtener.