Problema com formulário jFrame (principalmente maskFormatter e jFormattedTextField

1 resposta
M

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..

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                   
}

1 Resposta

M

ninguém sabe ajudar?

Criado 10 de março de 2012
Ultima resposta 12 de mar. de 2012
Respostas 1
Participantes 1