Ho una JDialog cosi':



Il campo IP Address e' un JFormattedTextField, che vorrei si adattasse a quanto selezionato nella JComboBox del gateway.

Ho fatto cosi':
codice:
final JComboBox cbox = new JComboBox (gws.toArray());
        cbox.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e)
            {
                String gw = getGateway();
                String mask = getMask();
                String ip = getIP();
                String format = getIPFormatFor (gw, mask, ip);
                try {
                    System.out.println (format);
                    //new DefaultFormatterFactory(new MaskFormatter(format)).getDefaultFormatter().install(_ip);
                    _ip.setFormatterFactory(new DefaultFormatterFactory(new MaskFormatter(format)));

                }
                catch (ParseException ex) {ex.printStackTrace();}
            }
        });
Pero' funziona solamente finche' non inserisco un valore nel text field. Se invece inserisco qualcosa succede che quando il gateway per il quale avevo inserito qualcosa viene selezionato allora vedo la nuova maschera di formattazione + quello che avevo inserito, altrimenti il text field e' vuoto, in pratica la nuova maschera non viene applicata.

Cosa sbaglio?