Java:网络设置窗口

时间:2011-05-12 07:26:29

标签: java swing

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

参见>> http://i.stack.imgur.com/gayeY.jpg

网上有没有现成的例子? - 不幸的是我没有找到任何东西。

非常感谢你的帮助!

-Patrick

2 个答案:

答案 0 :(得分:2)

在我找到JFormattedTextField的简单谷歌搜索的帮助下,这里有example如何使用它。


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);
} 

答案 1 :(得分:2)

如前所述Stack Overflow(请参阅How do I set the value of a JFormattedTextField with a placeholder character?),您无法轻松使用JFormattedTextField输入IP地址。但是,还有来自Sun的RegexFormatter(请参阅http://java.sun.com/products/jfc/tsc/articles/reftf/;在http://java.sun.com/products/jfc/tsc/articles/reftf/RegexFormatter.java下载源代码),您可以这样使用:

   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");

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