Pelo TAB do teclado fazer uma consulta, como faço isso?

7 respostas
diego_perez

gostaria de no momento em que eu inserir o valor no JTextField “Cód do Cliente” e der um Tab, automaticamente já atualize a informação do JTextField “Nome do Cliente”, ou seja, sem que eu precise clicar no botão “buscar” p/ realizar a consulta no banco de Dados.

Obs: Não postei o código, pois acho que não será necessário p/ esta explicação… porém caso seja, me avisem…

Desde já agradeço, abçs

7 Respostas

leoviniga

você vai precisar implementar um KeyListener…

dá uma olhada aqui : http://www.java2s.com/Code/Java/Event/DemonstratingtheKeyListener.htm

leoviniga

Mas por outro lado não seria melhor usar o Enter em vez do TAB? já que o tab tira o Foco do TextField quando pressionado…daí dependendo do que exatamente você quizer talvez seja melhor um FocusListener

diego_perez

pode ser cara

to querendo realmente aprender a fazer uma tecla de atalho
independente da tecla

obrigado

DeGuedes

Se for pelo ENTER faça assim

if (evt.getKeyCode() == 10) {
....
 }

isso dentro da propriedade KEYPRESSED do JtextField

[]'s

AitonDMT

não sabia que dava pra fazer isso, vai ser bem util pra mim agora hehe!

Valeu!

DeGuedes

melhorando:

private void jTextFieldCodigoKeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == 10) {
//seu codigo
}
}

[]'s

diego_perez

COMO POSSO CHAMAR O getJButtonInserir ???

por uma tecla qualquer ( F10, F5 , ENTER, TAB .....)

package Visual;


import javax.swing.SwingUtilities;

import javax.swing.JLabel;
import javax.swing.JPanel;

import javax.swing.JFrame;


import java.awt.Rectangle;
import java.awt.Color;
import java.awt.Font;

import java.sql.SQLException;
import java.text.DateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;



import javax.swing.JFormattedTextField;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.BorderFactory;

import DAO.CadastroProduto;
import DAO.Consulta;



import DAO.CadastroDAO;



import javax.swing.ImageIcon;
import java.awt.SystemColor;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;


import javax.swing.JTextArea;





public class cadastroProduto {
	 
    private GregorianCalendar data=new GregorianCalendar();  
	private JFrame jFrame = null;  //  @jve:decl-index=0:visual-constraint="10,10"
	private JPanel jContentPane1 = null;
	private JLabel jLabelTotal1 = null;
	private JLabel jLabelCodigo = null;
	private JLabel jLabeDescricao = null;
	private JTextField jTextFieldCodigo ;
	private JTextField jTextFieldDescricao = null;
	private JLabel jLabelFornecedor = null;
	private JTextField jTextFieldFornecedor = null;
	private JLabel jLabelQuantidade = null;
	private JTextField jTextFieldQuantidade = null;
	private JLabel jLabelObservacoes = null;
	private JLabel jLabelData = null;
	private JTextField jTextFielddata = null;
	private JButton jButtonInserir = null;
	protected CadastroProduto lo;
	private JButton jButtonConsultar = null;
	private JButton jButtonDeletar = null;
	private JTextArea jTextAreaObservacao = null;
	private JLabel jLabelValor = null;
	private JTextField jTextFieldValor = null;
	private JButton exitMenuItem = null;
	
	/**
	 * This method initializes jContentPane1	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getJContentPane1() {
		if (jContentPane1 == null) {
			jLabelValor = new JLabel();
			jLabelValor.setBounds(new Rectangle(331, 76, 86, 28));
			jLabelValor.setText("Valor $ :");
			jLabelValor.setFont(new Font("Comic Sans MS", Font.BOLD, 18));
			jLabelData = new JLabel();
			jLabelData.setBounds(new Rectangle(351, 166, 51, 26));
			jLabelData.setText("Data:");
			jLabelData.setFont(new Font("Comic Sans MS", Font.BOLD, 18));
			jLabelObservacoes = new JLabel();
			jLabelObservacoes.setBounds(new Rectangle(17, 206, 122, 26));
			jLabelObservacoes.setText("Observações:");
			jLabelObservacoes.setFont(new Font("Comic Sans MS", Font.BOLD, 18));
			jLabelQuantidade = new JLabel();
			jLabelQuantidade.setBounds(new Rectangle(15, 165, 115, 26));
			jLabelQuantidade.setText("Quantidade:");
			jLabelQuantidade.setFont(new Font("Comic Sans MS", Font.BOLD, 18));
			jLabelFornecedor = new JLabel();
			jLabelFornecedor.setBounds(new Rectangle(270, 204, 105, 26));
			jLabelFornecedor.setText("Fornecedor:");
			jLabelFornecedor.setFont(new Font("Comic Sans MS", Font.BOLD, 18));
			jLabeDescricao = new JLabel();
			jLabeDescricao.setBounds(new Rectangle(14, 118, 95, 26));
			jLabeDescricao.setText("Descrição:");
			jLabeDescricao.setFont(new Font("Comic Sans MS", Font.BOLD, 18));
			jLabelCodigo = new JLabel();
			jLabelCodigo.setBounds(new Rectangle(16, 76, 70, 27));
			jLabelCodigo.setText("Código:");
			jLabelCodigo.setFont(new Font("Comic Sans MS", Font.BOLD, 18));
			jLabelTotal1 = new JLabel();
			jLabelTotal1.setBounds(new Rectangle(14, 14, 402, 42));
			jLabelTotal1.setText("CADASTRO DE PRODUTOS");
			jLabelTotal1.setFont(new Font("Arial Black", Font.BOLD, 24));
			jContentPane1 = new JPanel();
			jContentPane1.setLayout(null);
			jContentPane1.setBackground(Color.lightGray);
			jContentPane1.setBorder(BorderFactory.createLineBorder(Color.black, 5));
			jContentPane1.add(jLabelTotal1, null);
			jContentPane1.add(jLabelCodigo, null);
			jContentPane1.add(jLabeDescricao, null);
			jContentPane1.add(getJTextFieldCodigo(), null);
			jContentPane1.add(getJTextFieldDescricao(), null);
			jContentPane1.add(jLabelFornecedor, null);
			jContentPane1.add(getJTextFieldFornecedor(), null);
			jContentPane1.add(jLabelQuantidade, null);
			jContentPane1.add(getJTextFieldQuantidade(), null);
			jContentPane1.add(jLabelObservacoes, null);
			jContentPane1.add(jLabelData, null);
			jContentPane1.add(getJTextFielddata(), null);
			jContentPane1.add(getJButtonInserir(), null);
			jContentPane1.add(getJButtonConsultar(), null);
			jContentPane1.add(getJButtonDeletar(), null);
			jContentPane1.add(getJTextAreaObservacao(), null);
			jContentPane1.add(jLabelValor, null);
			jContentPane1.add(getJTextFieldValor(), null);
			jContentPane1.add(getExitMenuItem(), null);
			
			
		}
		return jContentPane1;
	}

 
	/**
	 * This method initializes jTextFieldCodigo	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextFieldCodigo() {
		if (jTextFieldCodigo == null) {
			jTextFieldCodigo = new JTextField();
			jTextFieldCodigo.setBounds(new Rectangle(86, 78, 95, 25));
			jTextFieldCodigo.setFont(new Font("Arial", Font.BOLD, 14));
		}
		return jTextFieldCodigo;
	}

	/**
	 * This method initializes jTextFieldDescricao	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	public JTextField getJTextFieldDescricao() {
		if (jTextFieldDescricao == null) {
			jTextFieldDescricao = new JTextField();
			jTextFieldDescricao.setBounds(new Rectangle(108, 119, 423, 28));
			jTextFieldDescricao.setFont(new Font("Arial", Font.BOLD, 14));
		}
		return jTextFieldDescricao;
	}

	/**
	 * This method initializes jTextFieldFornecedor	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	public JTextField getJTextFieldFornecedor() {
		if (jTextFieldFornecedor == null) {
			jTextFieldFornecedor = new JTextField();
			jTextFieldFornecedor.setBounds(new Rectangle(375, 202, 154, 29));
			jTextFieldFornecedor.setFont(new Font("Arial", Font.BOLD, 14));
		}
		return jTextFieldFornecedor;
	}

	/**
	 * This method initializes jTextFieldQuantidade	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextFieldQuantidade() {
		if (jTextFieldQuantidade == null) {
			jTextFieldQuantidade = new JTextField();
			jTextFieldQuantidade.setBounds(new Rectangle(127, 165, 92, 28));
			jTextFieldQuantidade.setFont(new Font("Arial", Font.BOLD, 14));
		}
		return jTextFieldQuantidade;
	}

	/**
	 * This method initializes jTextFielddata	
	 * @param <vData>
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private <vData> JTextField getJTextFielddata() {
		if (jTextFielddata == null) {
			jTextFielddata = new JTextField();
			jTextFielddata.setBounds(new Rectangle(399, 160, 123, 32));
		     javax.swing.JPanel painel=new javax.swing.JPanel();  
	         painel.setLayout(new java.awt.FlowLayout());  
	         jTextFielddata=new JFormattedTextField(DateFormat.getDateInstance(DateFormat.MEDIUM));  
	         jTextFielddata.setText(data.get(Calendar.DAY_OF_MONTH)+"/"+(data.get(Calendar.MONTH)+1)+"/"+(data.get(Calendar.YEAR)));  
	         jTextFielddata.setBounds(new Rectangle(404, 159, 123, 32));
	         jTextFielddata.setFont(new Font("Arial", Font.BOLD, 14));
	         jTextFielddata.setColumns(7);  
	   
		}
		return jTextFielddata;
	}
 
	
	   
	private JButton getJButtonInserir() {
		if (jButtonInserir == null) {
			jButtonInserir = new JButton();
			jButtonInserir.setBounds(new Rectangle(554, 72, 137, 50));
			jButtonInserir.setFont(new Font("Encore NorScript", Font.BOLD, 14));
			jButtonInserir.setText("INSERIR");
			jButtonInserir.setIcon(new ImageIcon("C:/Documents and Settings/Diego Beltrão/Desktop/botões/images.jpg"));
			jButtonInserir.setBackground(SystemColor.controlLtHighlight);
			jButtonInserir.setToolTipText("Inserir Cadastro no Banco");
			jButtonInserir.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
                    CadastroProduto lo = new CadastroProduto(jTextFieldCodigo.getText(),jTextFieldValor.getText(),jTextFieldFornecedor.getText(),jTextFieldDescricao.getText(),jTextFieldQuantidade.getText(),jTextFielddata.getText(),jTextAreaObservacao.getText());
					
					try{

						CadastroDAO dao = new CadastroDAO();
				        dao.inserir(lo);
				    	jTextFieldCodigo.setText("");
						jTextFieldValor.setText("");
						jTextFieldFornecedor.setText("");
						jTextFieldDescricao.setText("");
						jTextFieldQuantidade.setText("");
				        jTextAreaObservacao.setText("");
					
						
						
					}
					catch(SQLException e1){
						e1.printStackTrace();
					}
				
	
				}
			});
			
		}
		return jButtonInserir;
	}

	/**
	 * This method initializes jButtonConsultar	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonConsultar() {
		if (jButtonConsultar == null) {
			jButtonConsultar = new JButton();
			jButtonConsultar.setBounds(new Rectangle(553, 221, 139, 50));
			jButtonConsultar.setFont(new Font("Encore NorScript", Font.BOLD, 14));
			jButtonConsultar.setIcon(new ImageIcon("C:/Documents and Settings/Diego Beltrão/Desktop/botões/pesquisar/254.jpg"));
			jButtonConsultar.setText("CONSULTA");
			jButtonConsultar.setBackground(SystemColor.controlLtHighlight);
			jButtonConsultar.setToolTipText("Consulta Cadastro no Banco");
			jButtonConsultar.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					
         CadastroProduto procurar = new CadastroProduto(jTextFieldCodigo.getText());
					
					try{
		                Consulta dao = new Consulta();
		                
		                
						String valor = dao.Valor(procurar);
						String fonecedor = dao.Fornecedor(procurar);
						String data = dao.Data(procurar);
						String descricao = dao.Descricao(procurar);
						String Observacao = dao.Observacao(procurar);
						
	                    jTextFieldFornecedor.setText(fonecedor);
	                    jTextFieldValor.setText(valor);
	                    jTextFielddata.setText(data);
	                    jTextFieldDescricao.setText(descricao);
	                    jTextAreaObservacao.setText(Observacao);
					}catch(SQLException e3) {
					JOptionPane.showMessageDialog(null,"ERRO NO COMANDO !!"+e3);
					
					
					
				}
				}});
		
		
		}
		return jButtonConsultar;
	}
	
	/**	 * This method initializes jButtonDeletar	
	 * 
	 * return javax.swing.JButton	
	 */
	private JButton getJButtonDeletar() {
		if (jButtonDeletar == null) {
			jButtonDeletar = new JButton();
			jButtonDeletar.setBounds(new Rectangle(553, 146, 137, 50));
			jButtonDeletar.setFont(new Font("Encore NorScript", Font.BOLD, 14));
			jButtonDeletar.setBackground(SystemColor.activeCaptionText);
			jButtonDeletar.setIcon(new ImageIcon("C:/Documents and Settings/Diego Beltrão/Desktop/botões/excluir/35.jpg"));
			jButtonDeletar.setText("DELETAR");
			jButtonDeletar.setToolTipText("Deletar Cadastro do Banco");
			jButtonDeletar.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					
					CadastroProduto u = new CadastroProduto(jTextFieldCodigo.getText());
					try{
						CadastroDAO dao = new CadastroDAO();
						dao.Excluir(u);
						jTextFieldCodigo.setText("");
						
						if(jTextFieldCodigo.getText().isEmpty()){
							JOptionPane.showMessageDialog(null, "REMOVIDO");
							jTextFieldCodigo.setText("");
							jTextFieldValor.setText("");
							jTextFieldFornecedor.setText("");
							jTextFieldDescricao.setText("");
							jTextFieldQuantidade.setText("");
					        jTextAreaObservacao.setText("");
						}
						
						
					}catch(SQLException e3){
						
						JOptionPane.showMessageDialog(null, "Erro no Comando !!" + e3);
					}

					
					
					
				}
			});
		}
		return jButtonDeletar;
	}

	/**
	 * This method initializes jTextAreaObservacao	
	 * 	
	 * @return javax.swing.JTextArea	
	 */
	private JTextArea getJTextAreaObservacao() {
		if (jTextAreaObservacao == null) {
			jTextAreaObservacao = new JTextArea();
			jTextAreaObservacao.setBounds(new Rectangle(15, 240, 516, 110));
			jTextAreaObservacao.setFont(new Font("Arial", Font.BOLD, 14));
		}
		return jTextAreaObservacao;
	}

	/**
	 * This method initializes jTextFieldValor	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextFieldValor() {
		if (jTextFieldValor == null) {
			jTextFieldValor = new JTextField();
			jTextFieldValor.setBounds(new Rectangle(416, 74, 113, 31));
			jTextFieldValor.setFont(new Font("Arial", Font.BOLD, 14));
		}
		return jTextFieldValor;
	}

	/**
	 * This method initializes exitMenuItem	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getExitMenuItem() {
		if (exitMenuItem == null) {
			exitMenuItem = new JButton();
			exitMenuItem.setBounds(new Rectangle(553, 295, 137, 50));
			exitMenuItem.setFont(new Font("Comic Sans MS", Font.BOLD, 18));
			exitMenuItem.setToolTipText("Voltar para Principal");
			exitMenuItem.setIcon(new ImageIcon("C:/Documents and Settings/Diego Beltrão/Desktop/botões/voltar.jpg"));
			exitMenuItem.setText("");
			exitMenuItem.setBackground(SystemColor.activeCaptionText);
			exitMenuItem.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.exit(1);
				}
			});
		}
		return exitMenuItem;
	}


	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				cadastroProduto application = new cadastroProduto();
				application.getJFrame().setVisible(true);

			}
		});
	}

	/**
	 * This method initializes jFrame
	 * 
	 * @return javax.swing.JFrame
	 */
	JFrame getJFrame() {
		if (jFrame == null) {
			jFrame = new JFrame();
			jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
			jFrame.setSize(721, 485);
			jFrame.setLocationRelativeTo(null);
			jFrame.setIconImage(Toolkit.getDefaultToolkit().getImage("C:/Documents and Settings/Diego Beltrão/Desktop/botões/ki.jpg"));
			jFrame.setContentPane(getJContentPane1());
			jFrame.setTitle(".:");
		}
		return jFrame;
	}

	}
Criado 18 de fevereiro de 2011
Ultima resposta 18 de fev. de 2011
Respostas 7
Participantes 4