2014-02-26 79 views
1

我有一個JTextField來容納帶3個點的IP地址。 255.120.320.123。當用戶輸入此IP地址時,我想掩蓋它,如 我是指這個線程,How to custom formatter JFormattedTextField to display an IP address?當用戶輸入文本字段時掩碼IP地址Java Swing

jFormattedTextField並沒有爲我工作。任何人都可以給我一個例子jFormattedTextField 3點可見?

或者是否需要使用4 jFomattedTextField/JPasswordField正如此線程中所述?

在此先感謝。

回答

1

看來你需要使用MaskFormatter,例如:

try { 
    MaskFormatter mf = new MaskFormatter("###.###.###.###"); 
    JFormattedTextField f = new JFormattedTextField(mf); 
    add(f); 
} catch (ParseException e) { 
    e.printStackTrace(); 
} 

enter image description here

0

我假設你想使用的JFormattedTextField?也許你應該把它與MaskFormatter結合起來。

喜歡的東西: // IPv4的像192.168.1.1

MaskFormatter formatter = new MaskFormatter("###.###.###.###"); 
JFormattedTextField textField = new JFormattedTextField(formatter); 

Here is an Example and guide

+0

而在文本框輸入IP地址255.255.123.122,這些值是可見的。我想掩蓋它,就像我使用JPasswordField而不是在GUI中顯示它爲255.255.123.122,想顯示爲***。***。***。***我指的是這個http:// stackoverflow .com/questions/5339702/is-there-an-alternative-to-jpasswordfield – user1631072

+0

@ user1631072哦,我明白了,那有點不同。爲[JPasswordField](http://docs.oracle.com/javase/7/docs/api/javax/swing/JPasswordField.html)交換JFormattedTextField(並使用echo char等)。我相信你仍然可以使用MaskFormatter與其中的一個(也許...) –

+0

嗨Nathan,謝謝你的回覆。有沒有辦法使用JPasswordField?我面臨的問題是,目前在文本字段中顯示3個空格.3個空格.3個空格.3個空格輸入IP地址。當我用JPasswordField使用echochar時,需要空間和。至 * 。所以我越來越喜歡***********而不是*** *** *** ***。***一旦我選擇了複選框掩碼,它掩蓋了空格和點。在用戶輸入IP地址之前,echochar屏蔽空格並點到*。 – user1631072