Teclado

4 respostas
E

Como eu faço para dar ação em um botão a partir do teclado…?

4 Respostas

P

Você tem que adicionar um listener ao botão que deseja

J

Você quer fazer o que exatamente?

R

public void keyPressed( KeyEvent ke ) {

if ( ke.getKeyCode() == KeyEvent.VK_0 || ke.getKeyCode() == KeyEvent.VK_NUMPAD0 ) {
        bt0.doClick();

}

ai está um exemplo para quando vc clicar no botão"0" ( no teclado ) !

E

quero que a seleção dos meus botões eja feita a partir do teclado tipo que fique marcado o botão selecionado e quando o usuário clicar enter ele faça sua função tem como? vo deixar o código pra ficar mais facil

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JOptionPane;


/*
1.	Crie um menu para o programa, com as opções: Inserir, Pesquisar e Imprimir Lista. 

2.	Na inserção, não permita chaves duplicadas. Antes de inserir, verifique se a chave já se encontra na lista e, caso positivo, imprima uma mensagem de aviso ao usuário.

3.	Na pesquisa, se a chave procurada for encontrada, dê ao usuário a opção de removê-la da lista.
*/

public class TestaLista extends JFrame
{
	Lista x = new Lista();
	public int rec=0;
	public boolean chave=false;
	private JPanel painel;
	private JTextField visor;
	private JTextArea texto;
	private JButton inserir;
	private JButton pesquisar;
	private JButton imprimir;
	private String saida="";
	private String saida2="";
	private BorderLayout border;
	private GridLayout grid;
	
	public TestaLista()
	{
		super("Trabalho de Lista");
		 
		 painel= new JPanel();
		 
		 
		 inserir=new JButton("Inserir           ");
		 pesquisar=new JButton("Pesquisar       ");
		 imprimir=new JButton("Imprimir         ");
	
		
		
		 visor=new JTextField(5);
         
         texto=new JTextArea(100,100);
         texto.setEditable(false);
     	 JScrollPane coloca = new JScrollPane(texto);
		
		
		 border = new BorderLayout();
         grid = new GridLayout(4, 1);
         
         this.setLayout(border);
         
         this.add(coloca,BorderLayout.CENTER);
         this.add(painel, BorderLayout.EAST);
         
         painel.setLayout(grid);
         
         painel.add(inserir);
         painel.add(pesquisar);
         painel.add(imprimir);
         painel.add(visor);
         
         Botao acao = new Botao();
         inserir.addActionListener(acao);
         imprimir.addActionListener(acao);
         pesquisar.addActionListener(acao);
     
         
        
	}
	
	private class Botao implements ActionListener
	{
		  public void  actionPerformed(ActionEvent event)
		  {
			  if(event.getSource()==inserir)
			  {
				
				  
				  try
		          {
					       
		                   int i=  Integer.parseInt(visor.getText());
		                  
		                  if(x.pesquisar(i)!=null)
		                  {
		                	  x.pesquisar(i);
		                	  chave=true;
		                  }
		                 
		                  
		                  if(chave==false)
		                  {
		                	     NodoLista resp; 
			                     x.inserir(i);
			                     saida+="Foi inserido na lista "+i+"\n";
			                     texto.setText(saida);
			                     visor.setText(saida2);
		                	  
		                  }
		                  else
		                  {
		                	  saida+="Já possui o elemento na lista\n";
		                	  texto.setText(saida);
		                	  
		                	  
		                  }
		                  chave=false;
		                	 
		                  
		                  
		                   
		          }catch(NumberFormatException nfe)
		          {
		        	  saida="Erro favor somente dígitar números inteiros\n";
		        	  texto.setText(saida);
		        	  visor.setText(saida2);
		          }
		                      
			  }
			  //***********************************
			  if(event.getSource()==pesquisar)
			  {
				  int i=  Integer.parseInt(visor.getText());
				  int Continuar = JOptionPane.YES_OPTION;
				  
				  if(x.pesquisar(i)!=null)
				  {
						
					  saida="Elemento encontrado chave "+ i+"\n";
					  texto.setText(saida);
					  Continuar = JOptionPane.showConfirmDialog(null,"Deseja remover da lista","",JOptionPane.YES_NO_OPTION);
					  if(Continuar==JOptionPane.YES_OPTION)
					  {
						  x.remover(i);
						  saida+="O elemento "+i+" foi removido da lista";
						  texto.setText(saida);
						  
					  }
					  
				  }
				  else
				  {
					  saida="Não foi econtrado o nodo"; 
					  texto.setText(saida);
					  
				  }
					
				  
			  }
			  //*************************************
			  if(event.getSource()==imprimir)
			  {
					x.imprimir();
				  
			  }
		  }
	}
}
Criado 29 de setembro de 2006
Ultima resposta 29 de set. de 2006
Respostas 4
Participantes 4