Gostaria de saber qual o padrão para o componente receber o foco? Pois criei um JFrame e estou colocando o requestfocus em um botão, só que o mesmo está ficando sempre em um jTextfield.
package utils;
import java.awt.Color;
import java.text.ParseException;
import javax.swing.*;
import java.awt.event.*;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import javax.swing.text.MaskFormatter;
public class Continentes extends JFrame implements ActionListener {
private JFrame jfr_Continente = new JFrame();
private JPanel jpn_Campos = new JPanel();
private JButton jbt_Botao1 = new JButton("Novo");
private JButton jbt_Botao2 = new JButton("Consultar");
private JButton jbt_Botao3 = new JButton("Sair");
private JTextField jtf_Codigo = new JTextField(5);
private JTextField jtf_Nome = new JTextField(30);
private JFormattedTextField jft_valor = new JFormattedTextField();
private JTable jtb_Continentes = new JTable();
private int vCodigo, retorno;
private String vNome, cQuerySql, tipo_Botao;
java.util.Date data = null;
ResultSet resultado_RS;
Utils_Conexao conexao = new Utils_Conexao();
PreparedStatement pstm;
public void Continentes() {
initComponents();
}
private void initComponents() {
jpn_Campos.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); //top, left, botton, right
jpn_Campos.setBackground(Color.cyan);
Box linha1 = Box.createHorizontalBox();
Box linha2 = Box.createHorizontalBox();
Box linha3 = Box.createHorizontalBox();
Box linha4 = Box.createHorizontalBox();
Box linha5 = Box.createHorizontalBox();
Box geral = Box.createVerticalBox();
JLabel lbl_Codigo = new JLabel("Código:");
JLabel lbl_Nome = new JLabel("Nome:");
JLabel lbl_Valor = new JLabel("FormattedTextField:");
// Montando o JFormattedTextField:
try {
MaskFormatter mask = new MaskFormatter("(##)####-####");
jft_valor = new JFormattedTextField(mask);
} catch (ParseException ex) {
JOptionPane.showMessageDialog(null, "Erro na mascara", "Mensagens", JOptionPane.INFORMATION_MESSAGE);
}
// Montando o Botão1;
jbt_Botao1.setMnemonic('N');
jbt_Botao1.setBackground(Color.BLUE);
// Montando o Botão2;
jbt_Botao2.setMnemonic('C');
jbt_Botao2.setBackground(Color.GREEN);
// Montando o Botão3;
jbt_Botao3.setMnemonic('S');
jbt_Botao3.setBackground(Color.RED);
[color=red] jbt_Botao3.requestFocus(); // estou colocando o resquestfocus neste botão, só que o foco está ficando no jtf_Codigo,
[/color]
// Montando as caixas horizontais
linha1.add(lbl_Codigo);
linha1.add(jtf_Codigo);
linha2.add(lbl_Nome);
linha2.add(jtf_Nome);
linha3.add(lbl_Valor);
linha3.add(jft_valor);
linha4.add(jbt_Botao1);
linha4.add(jbt_Botao2);
linha4.add(jbt_Botao3);
linha5.add(jtb_Continentes);
// Montando a caixa vertical.
geral.add(linha1);
geral.add(Box.createHorizontalStrut(25));
geral.add(linha2);
geral.add(Box.createHorizontalStrut(25));
geral.add(linha3);
geral.add(Box.createHorizontalStrut(25));
geral.add(linha4);
geral.add(Box.createHorizontalStrut(25));
geral.add(linha5);
geral.add(Box.createHorizontalStrut(25));
// Montando o panel
jpn_Campos.add(geral);
// Montando o Frame:
jfr_Continente.getContentPane().add(jpn_Campos);
jfr_Continente.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jfr_Continente.setTitle("Continentes");
jfr_Continente.setSize(600, 600);
jfr_Continente.setLocation(10,10);
jfr_Continente.setVisible(true);
//adicionando os eventos:
jtf_Codigo.addFocusListener(new java.awt.event.FocusAdapter() {
@Override
public void focusLost(java.awt.event.FocusEvent e) {
jtf_CodigoFocusLost(e); } });
jbt_Botao1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
jbt_Botao1ActionPerformed(e); } });
jbt_Botao2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
jbt_Botao2ActionPerformed(e); } });
jbt_Botao3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
jbt_Botao3ActionPerformed(e); } });
jfr_Continente.addComponentListener(new java.awt.event.ComponentAdapter() {
@Override
public void componentShown(java.awt.event.ComponentEvent e) {
formComponentShown(e); } });
}