1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

JTextField que recebe só Numeros

Boa Noite, estou com um código que queria o JTextField do Telefone só aceitasse numeros, mais estou lendo alguns artigos e não estou sabendo aonde incremento a validação.

segue código abaixo.

package br.com.locadora.sistema;

import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.List;

import javax.persistence.EntityManager;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.text.AttributeSet;

import br.com.locadora.Dao.ClientesDAO;
import br.com.locadora.Dao.FilmesDAO;
import br.com.locadora.jpa.JPAUtilProdCPP;

@SuppressWarnings("serial")
public class FrmClientes extends JFrame {

    /**
     * Objeto para guarda os dados do cliente
     */

    Cliente objCliente = new Cliente();

    private ClientesDAO daoCliente = new ClientesDAO(JPAUtilProdCPP
            .getInstance().getEntityManager());
    private FilmesDAO daofilmes = new FilmesDAO(JPAUtilProdCPP.getInstance()
            .getEntityManager());

    private EntityManager entityManager = daoCliente.getEntityManager();

    private JPanel contentPane;
    private JTextField edtNome;
    private JTextField edtTel;
    private JTextField edtEnd;
    private JTextField edtId;
    private JTable edttable;
    private JTextField edtValor;
    protected List<Cliente> listaCliente;
    protected List<Object> listaErros;

    private JButton btnNovo = new JButton();
    private JButton btnEditar = new JButton();
    private JButton btnSalvar = new JButton();
    private JButton btnCancelar = new JButton();
    private JButton btnApagar = new JButton();
    private JButton edtBuscar;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    FrmClientes frame = new FrmClientes();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public FrmClientes() {
        setTitle("Clientes");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 605, 390);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);

        JToolBar toolBar = new JToolBar();
        toolBar.setBounds(10, 11, 365, 27);
        contentPane.add(toolBar);

        btnNovo = new JButton("Novo");
        btnNovo.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

                habilitaBarra(Constantes.BTNNOVO);
                edtNome.setEnabled(true);
                edtTel.setEnabled(true);
                edtEnd.setEnabled(true);

            }
        });
        btnNovo.setIcon(new ImageIcon(FrmClientes.class
                .getResource("/br/com/locadora/sistema/swing/novo.png")));
        btnNovo.setFont(new Font("Tahoma", Font.BOLD, 11));
        toolBar.add(btnNovo);

        btnEditar = new JButton("Editar");
        btnEditar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

                habilitaBarra(Constantes.BTNEDITAR);

                if (edtNome.getText().equals("")
                        && (edtTel.getText().equals("") && (edtEnd.getText()
                                .equals("")))) {

                    JOptionPane.showMessageDialog(null,
                            "Para editar o cliente," + "\n"
                                    + "selecione na area de Pesquisa");
                }

                edtNome.setEnabled(true);
                edtTel.setEnabled(true);
                edtEnd.setEnabled(true);

            }
        });
        btnEditar.setIcon(new ImageIcon(FrmClientes.class
                .getResource("/br/com/locadora/sistema/swing/editar.png")));
        btnEditar.setFont(new Font("Tahoma", Font.BOLD, 11));
        toolBar.add(btnEditar);

        btnSalvar = new JButton("Salvar");
        btnSalvar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

                habilitaBarra(Constantes.BTNSALVAR);
                edtNome.setEnabled(false);
                edtTel.setEnabled(false);
                edtEnd.setEnabled(false);

                objCliente = new Cliente();

                // Pegando os dados nos seus respctivos campos
                objCliente.setNome(edtNome.getText());
                objCliente.setEndereco(edtEnd.getText());
                objCliente.setTelefone(edtTel.getText());

                if (!entityManager.getTransaction().isActive()) {

                    // Salvando no banco
                    entityManager.getTransaction().begin();

                }

                try {

                    daoCliente.save(objCliente);
                    entityManager.getTransaction().commit();

                    JOptionPane.showMessageDialog(null,
                            "Cliente cadastrado com sucesso!!");

                } catch (Exception e1) {
                    entityManager.getTransaction().rollback();

                    JOptionPane.showMessageDialog(null,
                            "Cliente não cadastrado com sucesso.\n Mensagem de Erro: "
                                    + e1.getMessage());
                    e1.printStackTrace();
                }

            }
        });
        btnSalvar.setIcon(new ImageIcon(FrmClientes.class
                .getResource("/br/com/locadora/sistema/swing/salvar.png")));
        btnSalvar.setFont(new Font("Tahoma", Font.BOLD, 11));
        toolBar.add(btnSalvar);

        btnCancelar = new JButton("Cancelar");
        btnCancelar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

                Object[] options = { "Sim", "Não" };
                int n = JOptionPane
                        .showOptionDialog(null,
                                "Deseja mesmo cancela esse cliente ",
                                "Exemplo", JOptionPane.YES_NO_OPTION,
                                JOptionPane.QUESTION_MESSAGE, null, options,
                                options[0]);
                if (n == 0) {
                    limpaTela();
                    habilitaBarra(Constantes.BTNCANCELAR);
                }

            }
        });
        btnCancelar.setIcon(new ImageIcon(FrmClientes.class
                .getResource("/br/com/locadora/sistema/swing/cancelar.png")));
        btnCancelar.setFont(new Font("Tahoma", Font.BOLD, 11));
        toolBar.add(btnCancelar);

        btnApagar = new JButton("Apagar");
        btnApagar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

                objCliente = new Cliente();

                edtNome.setEnabled(true);
                edtTel.setEnabled(true);
                edtEnd.setEnabled(true);

                Object[] options = { "Sim", "Não" };
                int n = JOptionPane
                        .showOptionDialog(null,
                                "Deseja mesmo apagar esse cliente ", "Exemplo",
                                JOptionPane.YES_NO_OPTION,
                                JOptionPane.QUESTION_MESSAGE, null, options,
                                options[0]);
                if (n == JOptionPane.YES_OPTION) {
                    excluirTela();
                    daoCliente.delete(objCliente);
                    habilitaBarra(Constantes.BTNEXCLUIR);
                }

                JOptionPane.showMessageDialog(null,
                        "Cliente apagado com sucesso!!");

            }
        });
        btnApagar.setIcon(new ImageIcon(FrmClientes.class
                .getResource("/br/com/locadora/sistema/swing/apagar.png")));
        btnApagar.setFont(new Font("Tahoma", Font.BOLD, 11));
        toolBar.add(btnApagar);

        JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
        tabbedPane.setBounds(20, 49, 557, 291);
        contentPane.add(tabbedPane);

        JPanel tabCadastro = new JPanel();
        tabbedPane.addTab("Cadastro", null, tabCadastro, null);
        tabCadastro.setLayout(null);

        JLabel lblNewLabel = new JLabel("Nome");
        lblNewLabel.setBounds(21, 24, 51, 14);
        tabCadastro.add(lblNewLabel);

        JLabel lblTelefone = new JLabel("Telefone");
        lblTelefone.setBounds(21, 49, 51, 14);
        tabCadastro.add(lblTelefone);

        JLabel lblEndereo = new JLabel("Endere\u00E7o");
        lblEndereo.setBounds(21, 74, 60, 14);
        tabCadastro.add(lblEndereo);

        edtNome = new JTextField();
        edtNome.setEnabled(false);
        edtNome.setBounds(82, 21, 283, 20);
        tabCadastro.add(edtNome);
        edtNome.setColumns(10);

        edtTel = new JTextField();
        edtTel.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {



            }
        });
        edtTel.setEnabled(false);
        edtTel.setBounds(82, 46, 108, 20);
        tabCadastro.add(edtTel);
        edtTel.setColumns(10);

        edtEnd = new JTextField();
        edtEnd.setEnabled(false);
        edtEnd.setBounds(82, 71, 283, 20);
        tabCadastro.add(edtEnd);
        edtEnd.setColumns(10);

        JPanel tabPesquisa = new JPanel();
        tabbedPane.addTab("Pesquisa", null, tabPesquisa, null);
        tabPesquisa.setLayout(null);

        JLabel lblNewLabel_1 = new JLabel("Campos:");
        lblNewLabel_1.setFont(new Font("Tahoma", Font.BOLD, 11));
        lblNewLabel_1.setBounds(10, 11, 54, 14);
        tabPesquisa.add(lblNewLabel_1);

        JComboBox edtCampos = new JComboBox();
        edtCampos.setModel(new DefaultComboBoxModel(new String[] { "Codigo ",
                "Nome" }));
        edtCampos.setBounds(63, 7, 76, 22);
        tabPesquisa.add(edtCampos);

        JScrollPane scrollPane = new JScrollPane();
        scrollPane.setBounds(12, 36, 528, 215);
        tabPesquisa.add(scrollPane);

        edttable = new JTable();
        edttable.setModel(new DefaultTableModel(new Object[][] { { null, null,
                null, null }, }, new String[] { "Codigo", "Endere\u00E7o",
                "Nome Cliente", "Telefone" }));
        edttable.getColumnModel().getColumn(1).setPreferredWidth(139);
        edttable.getColumnModel().getColumn(2).setPreferredWidth(310);
        edttable.getColumnModel().getColumn(3).setPreferredWidth(127);

        scrollPane.setViewportView(edttable);

        JLabel lblValor = new JLabel("Valor:");
        lblValor.setFont(new Font("Tahoma", Font.BOLD, 11));
        lblValor.setBounds(149, 11, 46, 14);
        tabPesquisa.add(lblValor);

        edtValor = new JTextField();
        edtValor.setBounds(186, 8, 189, 20);
        tabPesquisa.add(edtValor);
        edtValor.setColumns(10);

        edtBuscar = new JButton("Buscar");
        edtBuscar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

                objCliente = new Cliente();

                // Pegando os dados nos seus respctivos campos
                objCliente.setNome(edtValor.getText());

                // Fazendo o select no Banco
                List<Cliente> selectCliente = daoCliente.findAll();

                // criando o objeto que vai receber os dados
                ClienteTable tableCli = new ClienteTable();

                tableCli.addListaDeCliente(selectCliente);

                // Preenchendo tabela
                edttable.setModel(tableCli);

                ajustaTabela();

            }

            private void ajustaTabela() {

                edttable.getColumnModel().getColumn(0).setPreferredWidth(15);
                edttable.getColumnModel().getColumn(1).setPreferredWidth(150);
                edttable.getColumnModel().getColumn(2).setPreferredWidth(150);
                edttable.getColumnModel().getColumn(3).setPreferredWidth(100);
            }

        });
        edtBuscar.setBounds(376, 7, 77, 22);
        tabPesquisa.add(edtBuscar);
    }

    public FrmClientes(int maxlen) {
        // TODO Auto-generated constructor stub
    }

    protected void excluirTela() {

        edtNome.setText("");
        edtEnd.setText("");
        edtTel.setText("");
    }

    protected void limpaTela() {

        edtNome.setText("");
        edtEnd.setText("");
        edtTel.setText("");
    }

    protected void habilitaBarra(int btnOpcao) {

        switch (btnOpcao) {
        case Constantes.BTNNOVO:

            btnNovo.setEnabled(false);
            btnEditar.setEnabled(false);
            btnSalvar.setEnabled(true);
            btnCancelar.setEnabled(true);
            btnApagar.setEnabled(false);
            break;

        case Constantes.BTNEDITAR:

            btnNovo.setEnabled(false);
            btnEditar.setEnabled(false);
            btnSalvar.setEnabled(true);
            btnCancelar.setEnabled(true);
            btnApagar.setEnabled(false);
            break;

        case Constantes.BTNSALVAR:

            btnNovo.setEnabled(true);
            btnEditar.setEnabled(false);
            btnSalvar.setEnabled(false);
            btnCancelar.setEnabled(false);
            btnApagar.setEnabled(true);
            break;

        case Constantes.BTNCANCELAR:

            btnNovo.setEnabled(true);
            btnEditar.setEnabled(true);
            btnSalvar.setEnabled(false);
            btnCancelar.setEnabled(false);
            btnApagar.setEnabled(true);
            break;

        default:
            break;
        }

        edttable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); // mantem o tamanho
                                                            // das colunas
        edttable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); // desabilita
                                                                        // a
                                                                        // seleção
                                                                        // multipla

    }

    public void insertString(int offset, String str, AttributeSet attr) {
        // TODO Auto-generated method stub

    }
}
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

3 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags java ou faça a sua própria pergunta.