当用户在文本字段Java Swing中输入时屏蔽IP地址

当用户在文本字段Java Swing中输入时屏蔽IP地址,java,swing,jtextfield,jformattedtextfield,Java,Swing,Jtextfield,Jformattedtextfield,我有一个JTextField来容纳一个带有3个点的ip地址。 255.120.320.123. 当用户输入此IP地址时,我想将其屏蔽为 我指的是这条线 jFormattedTextField对我不起作用。有谁能给我举一个3点可见的jFormattedTextField的例子吗 或者我需要使用本线程中提到的4jFomattedTextField/JPasswordField 提前感谢。似乎您需要使用,例如: try { MaskFormatter mf = new MaskFormatte

我有一个JTextField来容纳一个带有3个点的ip地址。 255.120.320.123. 当用户输入此IP地址时,我想将其屏蔽为 我指的是这条线

jFormattedTextField
对我不起作用。有谁能给我举一个3点可见的
jFormattedTextField
的例子吗

或者我需要使用本线程中提到的4
jFomattedTextField
/
JPasswordField

提前感谢。

似乎您需要使用,例如:

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

我想您是在尝试使用JFormattedTextField?也许你应该把它和MaskFormatter结合起来

比如: //类似IPv4的192.168.1.1

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

在文本字段中输入ip地址255.255.123.122时,这些值可见。我想屏蔽它,就像我使用JPasswordField而不是在GUI中显示为255.255.123.122一样,我想显示为..*******我指的是@user1631072哦,我明白了,这有点不同。将JFormattedTextField替换为a(并使用echo char等)。我相信你仍然可以使用其中一个(也许…)的MaskFormatter嗨,内森,谢谢你的回复。有没有办法使用JPasswordField?我面临的问题是,当前在显示3spaces.3spaces.3spaces.3spaces的文本字段中输入ip地址。当我将echochar与JPasswordField一起使用时,它会占用空间和空间。至*。所以我变得像*********而不是..*********一旦我选择了复选框掩码,它就屏蔽了空格和点。在用户输入ip地址之前,echochar会将空格和点屏蔽为*。您可能必须返回JFormattedTextField,并使用ActionListener或KeyListener将要转换为*的字符。如果有时间的话,我将对此进行研究。char[]pass=tf1.getPassword();tf1.setEchoChar('*');对于(int i=0;i