Java: окно настроек сети - PullRequest
2 голосов
/ 12 мая 2011

Я ищу способ программирования текстовых полей с точками, похожими на те, что указаны в диалоговом окне сетевых настроек Windows:

см. >> http://i.stack.imgur.com/gayeY.jpg

Есть ли готовый пример в сети? - к сожалению, я ничего не нашел.

Большое спасибо за вашу помощь!

-patrick

Ответы [ 2 ]

2 голосов
/ 12 мая 2011

Как уже говорилось ранее о переполнении стека (см. Как установить значение JFormattedTextField с символом-заполнителем? ), вы не можете легко использовать JFormattedTextField для ввода IP-адресов.Однако есть также RegexFormatter от Sun (см. 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");

Это позволит вам ввести /отредактируйте значение и сохраните точки в выводе.

2 голосов
/ 12 мая 2011

С помощью простого поиска в Google я нашел JFormattedTextField , вот пример о том, как его использовать.


Пример 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);
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...