2012-08-24 13 views
5

Ho cercato di personalizzare JFormattedTextField per visualizzare una maschera per l'immissione di un indirizzo IP.Come formattare personalizzato JFormattedTextField per visualizzare un indirizzo IP?

Ho letto javadoc e ho provato con ###.###.###.###, ma in molti casi non è valido.

Ho trovato alcuni articoli per questo, usano Regex per formattare il valore ma non visualizzano una maschera per l'inserimento di un IP.

Desidero visualizzare 3 punti nel campo di testo per visualizzare l'indirizzo IP. In questo modo:

. . . 

Posso inserire un indirizzo IP in molti casi. Puoi vedere la configurazione di IPv4 in Windows.

. . . 

Potete aiutarmi? Grazie per aver letto

+3

'Ho letto javadoc, e ho provato con ###. ###. ###. ###, ma in molti casi non è valido. Forse un semplice errore, per un aiuto migliore prima inserisci un [SSCCE] (http://sscce.org/) ha demonstradato il tuo problema con [InputMask e Formatter] (http://docs.oracle.com/javase/tutorial/uiswing/components/formattedtextfield.html) – mKorbel

+2

+1 per aggiungere il [tag : homework] tag. –

+0

Molto probabilmente 'MaskFormatter' non è abbastanza flessibile per dare un comportamento soddisfacente. Hai bisogno di usare 'MaskFormatter' o è stato proprio quello che ti è successo? –

risposta

2

So che questo non ti aiuterà con i compiti, ma per altre persone che cercano una soluzione: Jidesoft Grids (non sono affiliato) ha una classe per questo: com.jidesoft.field.IPTextField.

In generale, penso che sarà difficile ottenere una soluzione soddisfacente con JFormattedTextField.

2

Si potrebbe provare quattro JFormattedTextField in fila, ciascuna separata da un JLabel("."). Con il punto fuori mano, ciò potrebbe rendere più facile il corretto funzionamento del formato numerico.