Java:网络设置窗口

Java:网络设置窗口,java,swing,Java,Swing,我正在寻找一种使用点编程文本字段的方法,如Windows网络设置对话框中的点: 请参见>> 网上有现成的例子吗不幸的是,我什么也没找到 非常感谢你的帮助 -帕特里克在我找到的一个简单的谷歌搜索的帮助下,这里有一个关于如何使用它的例子 IP地址示例: public static void main(String args[]) throws ParseException { JFrame frame = new JFrame("Test"); JTextField f =

我正在寻找一种使用点编程文本字段的方法,如Windows网络设置对话框中的点:

请参见>>

网上有现成的例子吗不幸的是,我什么也没找到

非常感谢你的帮助


-帕特里克

在我找到的一个简单的谷歌搜索的帮助下,这里有一个关于如何使用它的例子


IP地址示例:

public static void main(String args[]) throws ParseException  
{ 
    JFrame frame = new JFrame("Test");

    JTextField f = new JFormattedTextField(new MaskFormatter("###.###.###.###"));
    f.setFont(new Font("Monospaced", Font.PLAIN, 10));
    frame.add(f);

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(100, 50);
    frame.setVisible(true);
} 

正如前面关于堆栈溢出的讨论(请参阅),您不能轻松地使用JFormattedTextField输入IP地址。但是,也有来自Sun的RegexFormatter(请参阅;在下载源代码),您可以这样使用:

   JFormattedTextField ipAddress;
   try{
    RegexFormatter ipmask = new RegexFormatter("\\d{0,3}\\.\\d{0,3}\\.\\d{0,3}\\.\\d{0,3}");
        ipmask.setOverwriteMode(false);
    ipAddress = new JFormattedTextField(ipmask);
}catch(Exception e1){
}
ipAddress.setValue("255.255.255.255");

这将允许您输入/编辑值,并在输出中保留点。

感谢dacwe提供的示例。很好。我使用了
RegexFormatter ipmask=newregexformatter(\\d{1,3}\\\\\\\d{1,3}\\\\\\\d{1,3}\\\\\\\d{1,3}”)
ipAddress.setValue(“…”)
但是,MaskFormatter具有更好的性能-它可以防止用户设置错误的字符;