Problema com formulário jFrame (principalmente maskFormatter e jFormattedTextField

pessoal, o problema é o seguinte, preciso que quando o usuário coloque o foco em algum textField, o fundo fique amarelo, isso consegui tranquilo, mas quando coloco o try catch para fazer aquela máscara para por exemplo cpf que é “###.###.###-##”, ele não funciona mais o fundo amarelo do foco que tinha colocado e nem fica com o maskFormatter…

[code]package lista02;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.*;
import java.text.ParseException;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.text.MaskFormatter;

public class Janela extends javax.swing.JFrame {

public Janela() {
    initComponents();
    centralizar();
    setResizable(false);
    getContentPane().setLayout(null);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    addWindowListener(new WindowAdapter() {
        @Override
        public void windowOpened(WindowEvent evt) {
            JOptionPane.showMessageDialog(null,
                    "Universidade Presbiteriana Mackenzie!",
                    "Linguagem de Programação II",
                    JOptionPane.INFORMATION_MESSAGE);
        }
        @Override
        public void windowClosing(WindowEvent evt) {
            JOptionPane.showMessageDialog(null, "Obrigado por utilizar nosso sistema!");
        }
    });
    
    jbConsultar.addActionListener (new ActionListener (){
        @Override
        public void actionPerformed (ActionEvent evt){
            if ((jtfAgencia.getText().isEmpty() == true) || (jtfConta.getText().isEmpty() == true)){
                JOptionPane.showMessageDialog(null, "É necessário informar a agência e a conta!");
            }
        }
    });
    
    jbFechar.addActionListener (new ActionListener (){
        @Override
        public void actionPerformed (ActionEvent evt){
            JOptionPane.showMessageDialog(null, "Obrigado por utilizar nosso sistema!");
            System.exit(0);
        }
    });
    
    jtfAgencia.addFocusListener(new FocusAdapter() {
        @Override
        public void focusGained(FocusEvent evt) {
            jtfAgencia.setBackground(Color.YELLOW);
        } 
        @Override
        public void focusLost(FocusEvent evt) {
            jtfAgencia.setBackground(Color.WHITE);
        }
    });
    
    jtfConta.addFocusListener(new FocusAdapter() {
        @Override
        public void focusGained(FocusEvent evt) {
            jtfConta.setBackground(Color.YELLOW);
        } 
        @Override
        public void focusLost(FocusEvent evt) {
            jtfConta.setBackground(Color.WHITE);
        }
    });
    
    jtfNome.addFocusListener(new FocusAdapter() {
        @Override
        public void focusGained(FocusEvent evt) {
            jtfNome.setBackground(Color.YELLOW);
        } 
        @Override
        public void focusLost(FocusEvent evt) {
            jtfNome.setBackground(Color.WHITE);
        }
    });
    
    jtfEndereco.addFocusListener(new FocusAdapter() {
        @Override
        public void focusGained(FocusEvent evt) {
            jtfEndereco.setBackground(Color.YELLOW);
        } 
        @Override
        public void focusLost(FocusEvent evt) {
            jtfEndereco.setBackground(Color.WHITE);
        }
    });
    
    jtfTelefone.addFocusListener(new FocusAdapter() {
        @Override
        public void focusGained(FocusEvent evt) {
            jtfTelefone.setBackground(Color.YELLOW);
        } 
        @Override
        public void focusLost(FocusEvent evt) {
            jtfTelefone.setBackground(Color.WHITE);
        }
    });
    
    jtfCpf.addFocusListener(new FocusAdapter() {
        @Override
        public void focusGained(FocusEvent evt) {
            jtfCpf.setBackground(Color.YELLOW);
        } 
        @Override
        public void focusLost(FocusEvent evt) {
            jtfCpf.setBackground(Color.WHITE);
        }
    });
    
    //O PROBLEMA ESTÁ NESSA PARTE PARA BAIXO
    try {
        jtfAgencia = 
            new JFormattedTextField(
                new MaskFormatter("####-#"));
    } catch (ParseException ex) {
    }
    
    try {
        jtfConta = 
            new JFormattedTextField(
                new MaskFormatter("#####-#"));
    } catch (ParseException ex) {
    }
    
    try {
        jtfTelefone = 
            new JFormattedTextField(
                new MaskFormatter("(0xx##) ####-####"));
    } catch (ParseException ex) {
    }
    
    try {
        jtfCpf = 
            new JFormattedTextField(
                new MaskFormatter("###.###.###-##"));
    } catch (ParseException ex) {
    }
}

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {

    bgContas = new javax.swing.ButtonGroup();
    jlAgencia = new javax.swing.JLabel();
    jtfAgencia = new javax.swing.JTextField();
    jlConta = new javax.swing.JLabel();
    jtfConta = new javax.swing.JTextField();
    jSeparator1 = new javax.swing.JSeparator();
    jSeparator2 = new javax.swing.JSeparator();
    jlNome = new javax.swing.JLabel();
    jlEndereco = new javax.swing.JLabel();
    jlTelefone = new javax.swing.JLabel();
    jlCpf = new javax.swing.JLabel();
    jrbCorrente = new javax.swing.JRadioButton();
    jrbPoupanca = new javax.swing.JRadioButton();
    jbConsultar = new javax.swing.JButton();
    jbAtualizar = new javax.swing.JButton();
    jbFechar = new javax.swing.JButton();
    jtfNome = new javax.swing.JTextField();
    jtfEndereco = new javax.swing.JTextField();
    jtfTelefone = new javax.swing.JTextField();
    jtfCpf = new javax.swing.JTextField();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setTitle("Linguagem de Programação II");
    setResizable(false);

    jlAgencia.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
    jlAgencia.setText("Código da Agência:");

    jtfAgencia.setToolTipText("Digite o código da agência.");

    jlConta.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
    jlConta.setText("Número da Conta:");

    jtfConta.setToolTipText("Digite o número da conta.");

    jlNome.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
    jlNome.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
    jlNome.setText("Nome:");

    jlEndereco.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
    jlEndereco.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
    jlEndereco.setText("Endereço:");

    jlTelefone.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
    jlTelefone.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
    jlTelefone.setText("Telefone:");

    jlCpf.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
    jlCpf.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
    jlCpf.setText("CPF:");

    bgContas.add(jrbCorrente);
    jrbCorrente.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
    jrbCorrente.setMnemonic('C');
    jrbCorrente.setSelected(true);
    jrbCorrente.setText("Conta Corrente");

    bgContas.add(jrbPoupanca);
    jrbPoupanca.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
    jrbPoupanca.setMnemonic('P');
    jrbPoupanca.setText("Conta Poupança");

    jbConsultar.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
    jbConsultar.setMnemonic('S');
    jbConsultar.setText("Consultar");
    jbConsultar.setToolTipText("Clique para consultar.");

    jbAtualizar.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
    jbAtualizar.setMnemonic('A');
    jbAtualizar.setText("Atualizar");
    jbAtualizar.setToolTipText("Clique para atualizar.");
    jbAtualizar.setEnabled(false);

    jbFechar.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
    jbFechar.setMnemonic('F');
    jbFechar.setText("Fechar");
    jbFechar.setToolTipText("Clique para fechar.");

    jtfNome.setToolTipText("Digite o seu nome.");

    jtfEndereco.setToolTipText("Digite o seu endereço.");

    jtfTelefone.setToolTipText("Digite o seu telefone.");

    jtfCpf.setToolTipText("Digite o seu CPF.");

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(10, 10, 10)
            .addComponent(jlAgencia, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(5, 5, 5)
            .addComponent(jtfAgencia, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(30, 30, 30)
            .addComponent(jlConta, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(5, 5, 5)
            .addComponent(jtfConta, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))
        .addGroup(layout.createSequentialGroup()
            .addGap(10, 10, 10)
            .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 365, javax.swing.GroupLayout.PREFERRED_SIZE))
        .addGroup(layout.createSequentialGroup()
            .addGap(10, 10, 10)
            .addComponent(jlNome, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(5, 5, 5)
            .addComponent(jtfNome, javax.swing.GroupLayout.PREFERRED_SIZE, 300, javax.swing.GroupLayout.PREFERRED_SIZE))
        .addGroup(layout.createSequentialGroup()
            .addGap(10, 10, 10)
            .addComponent(jlEndereco, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(5, 5, 5)
            .addComponent(jtfEndereco, javax.swing.GroupLayout.PREFERRED_SIZE, 300, javax.swing.GroupLayout.PREFERRED_SIZE))
        .addGroup(layout.createSequentialGroup()
            .addGap(10, 10, 10)
            .addComponent(jlTelefone, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(5, 5, 5)
            .addComponent(jtfTelefone, javax.swing.GroupLayout.PREFERRED_SIZE, 300, javax.swing.GroupLayout.PREFERRED_SIZE))
        .addGroup(layout.createSequentialGroup()
            .addGap(10, 10, 10)
            .addComponent(jlCpf, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(5, 5, 5)
            .addComponent(jtfCpf, javax.swing.GroupLayout.PREFERRED_SIZE, 300, javax.swing.GroupLayout.PREFERRED_SIZE))
        .addGroup(layout.createSequentialGroup()
            .addGap(100, 100, 100)
            .addComponent(jrbCorrente)
            .addGap(14, 14, 14)
            .addComponent(jrbPoupanca, javax.swing.GroupLayout.PREFERRED_SIZE, 118, javax.swing.GroupLayout.PREFERRED_SIZE))
        .addGroup(layout.createSequentialGroup()
            .addGap(10, 10, 10)
            .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 365, javax.swing.GroupLayout.PREFERRED_SIZE))
        .addGroup(layout.createSequentialGroup()
            .addGap(35, 35, 35)
            .addComponent(jbConsultar, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(10, 10, 10)
            .addComponent(jbAtualizar, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(10, 10, 10)
            .addComponent(jbFechar, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(10, 10, 10)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jlAgencia, javax.swing.GroupLayout.PREFERRED_SIZE, 18, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(jtfAgencia, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(jlConta, javax.swing.GroupLayout.PREFERRED_SIZE, 18, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(jtfConta, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGap(10, 10, 10)
            .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jlNome, javax.swing.GroupLayout.PREFERRED_SIZE, 18, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(jtfNome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGap(5, 5, 5)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jlEndereco, javax.swing.GroupLayout.PREFERRED_SIZE, 18, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(jtfEndereco, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGap(5, 5, 5)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jlTelefone, javax.swing.GroupLayout.PREFERRED_SIZE, 18, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(jtfTelefone, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGap(5, 5, 5)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jlCpf, javax.swing.GroupLayout.PREFERRED_SIZE, 18, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(jtfCpf, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGap(5, 5, 5)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jrbCorrente, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(jrbPoupanca, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGap(10, 10, 10)
            .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jbConsultar)
                .addComponent(jbAtualizar)
                .addComponent(jbFechar)))
    );

    pack();
}// </editor-fold>                        

public static void main(String args[]) {        
    java.awt.EventQueue.invokeLater(new Runnable() {

    @Override
    public void run() {
        new Janela().setVisible(true);
    }
    });
}

private void centralizar() {
    Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
    Dimension janela = getSize();

    if (janela.height > screen.height)
        setSize(janela.width, screen.height);
    if (janela.width > screen.width)
        setSize(screen.width, janela.height);

    setLocation((screen.width - janela.width) / 2,(screen.height - janela.height) / 2);
}

// Variables declaration - do not modify                     
private javax.swing.ButtonGroup bgContas;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JSeparator jSeparator2;
private javax.swing.JButton jbAtualizar;
private javax.swing.JButton jbConsultar;
private javax.swing.JButton jbFechar;
private javax.swing.JLabel jlAgencia;
private javax.swing.JLabel jlConta;
private javax.swing.JLabel jlCpf;
private javax.swing.JLabel jlEndereco;
private javax.swing.JLabel jlNome;
private javax.swing.JLabel jlTelefone;
private javax.swing.JRadioButton jrbCorrente;
private javax.swing.JRadioButton jrbPoupanca;
private javax.swing.JTextField jtfAgencia;
private javax.swing.JTextField jtfConta;
private javax.swing.JTextField jtfCpf;
private javax.swing.JTextField jtfEndereco;
private javax.swing.JTextField jtfNome;
private javax.swing.JTextField jtfTelefone;
// End of variables declaration                   

}
[/code]

ninguém sabe ajudar?