2012-08-24 9 views
5

Ich habe versucht, benutzerdefinierte JFormattedTextField, um eine Maske für die Eingabe einer IP-Adresse anzuzeigen.Wie formatiere ich benutzerdefinierte JFormattedTextField, um eine IP-Adresse anzuzeigen?

Ich las Javadoc, und ich versuchte mit ###.###.###.###, aber es ist in vielen Fällen nicht gültig.

Ich fand einen Artikel dafür, sie verwenden Regex, um Wert zu formatieren, aber sie zeigen keine Maske für die Eingabe einer IP an.

Ich möchte 3 Punkte im Textfeld anzeigen, um die IP-Adresse anzuzeigen. Wie folgt aus:

. . . 

ich eingeben kann eine IP-Adresse in vielen Fällen. Sie können in IPv4-Konfiguration in Windows sehen.

. . . 

Können Sie mir helfen? Danke fürs Lesen

+3

'Ich lese javadoc, und ich versuchte mit ###. ###. ###. ###, aber es ist in vielen Fällen nicht gültig. 'Vielleicht einfacher Fehler, für bessere Hilfe eher nach einem [SSCCE] (http://sscce.org/) demonstrierte Ihr Problem mit [InputMask and Formatter] (http://docs.oracle.com/javase/tutorial/uiswing/components/formattedtextfield.html) – mKorbel

+2

+1 für das Hinzufügen des [Tags : Hausaufgabe] tag. –

+0

Höchstwahrscheinlich ist 'MaskFormatter' nicht flexibel genug, um zufriedenstellendes Verhalten zu erzielen. Brauchst du _MaskFormatter' oder war es genau das, was du versucht hast? –

Antwort

2

Ich weiß, dass dies nicht hilft Ihnen bei Ihren Hausaufgaben, aber für andere Leute auf der Suche nach einer Lösung: Jidesoft Grids (ich bin nicht angegliedert) hat eine Klasse dafür: com.jidesoft.field.IPTextField.

Im Allgemeinen wird es schwierig sein, mit JFormattedTextField eine zufriedenstellende Lösung zu finden.

2

Sie könnten vier JFormattedTextField in einer Reihe versuchen, die jeweils durch eine JLabel(".") getrennt. Wenn der Punkt aus dem Weg geräumt ist, wird das Nummernformat leichter zu korrigieren sein.