2012-08-24 24 views
5

Tôi đã cố gắng tùy chỉnh JFormattedTextField để hiển thị mặt nạ để nhập địa chỉ IP.Cách định dạng tùy chỉnh JFormattedTextField để hiển thị địa chỉ IP?

Tôi đã đọc javadoc và tôi đã thử với ###.###.###.###, nhưng nó không hợp lệ trong nhiều trường hợp.

Tôi đã tìm thấy một số bài viết cho điều này, họ sử dụng Regex để định dạng giá trị nhưng chúng không hiển thị mặt nạ để nhập IP.

Tôi muốn hiển thị 3 dấu chấm trong trường văn bản để hiển thị địa chỉ IP. Như thế này:

. . . 

Tôi có thể nhập địa chỉ IP trong nhiều trường hợp. Bạn có thể thấy trong cấu hình IPv4 trong Windows.

. . . 

Bạn có thể giúp tôi không? Cảm ơn bạn đã đọc

+3

'Tôi đã đọc javadoc và tôi đã thử với ###. ###. ###. ###, nhưng nó không hợp lệ trong nhiều trường hợp.' có thể là lỗi đơn giản, để được trợ giúp tốt hơn sớm hơn khi đăng [SSCCE] (http://sscce.org/) đã giải mã vấn đề của bạn với [InputMask and Formatter] (http://docs.oracle.com/javase/tutorial/uiswing/components/formattedtextfield.html) – mKorbel

+2

+1 để thêm [thẻ : bài tập về nhà]. –

+0

Rất có thể 'MaskFormatter' không đủ linh hoạt để mang lại hành vi thỏa đáng. Bạn có _need_ để sử dụng 'MaskFormatter' hoặc nó chỉ là những gì bạn đã xảy ra để thử? –

Trả lời

2

Tôi biết điều này sẽ không giúp bạn với bài tập về nhà của bạn, nhưng đối với những người khác tìm kiếm giải pháp: Jidesoft Grids (Tôi không liên kết) có lớp học này: com.jidesoft.field.IPTextField.

Nói chung, tôi nghĩ sẽ rất khó để đạt được một giải pháp thỏa đáng với JFormattedTextField.

2

Bạn có thể thử bốn JFormattedTextField liên tiếp, mỗi được phân tách bằng JLabel("."). Với dấu chấm trên đường đi, điều đó có thể làm cho định dạng số trở nên dễ dàng hơn.

Các vấn đề liên quan