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]