Comandos de teclado em uma JTable

Estou desenvolvendo um sistema em que preciso cadastrar um pedido em uma JTable e com um comando de teclado em uma determinada célula eu precisaria fazer uma consulta num banco e atualizar as celulas seguintes e também adicionar uma nova linha na tabela.

EX:
Tenho uma tabela com campo código, produto e preço. Ao digitar o código e dar TAB o produto e o preço seriam preenchido e seria adicionada uma nova linha na tabela para que eu pudesse adicionar um outro produto.

Alguém pode me ajudar? Já dei uma olhada em vários tópicos, já descobri como adicionar uma nova linha e fazer a pesquisa, mas não sei como dar os comandos.

Obrigada

Porque não coloca um JText para receber o valor e exibe o resultado na JTable ?

Acho que fica mais simples e até intuitivo para o usuário… pois como o mesmo irá adivinhar que deve colocar o valor e apertar tab em uma celula ta tabela?

é pra ser um sistema de tele entrega, entao precisa ser o mais ágil possível pra inserir e editar os pedidos

Veronica,
leia esses tópicos:
http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html
http://www.guj.com.br/java/75002-duvida----actionmap-e-inputmap
http://www.jroller.com/santhosh/entry/tweaking_jtable_editing

Já aviso de antemão que não gosto de usar a JTable para editar nada.Normalmente, faço apps que você dá 2 cliques e abre a tela de edição.Deixo a JTable como um componente de listagem e exibição.Há sempre algum comportamente bizarro que pode aparecer na hora de trabalhar com uma célula(ou fazer N coisas dentro dela).

tá ok, voces me convenceram.
Aceito sugestões de uma forma bem ágil pra eu fazer esta tela de cadastro dos pedidos

veronicasm caso vc queira continuar com a solução referida, já que vc informou que somente falta a solução do comando. Você pode adicionar um KeyListener ao JTable.

Vai um exemplo:

[code]

tabela.addKeyListener(new KeyListener() {

		public void keyTyped(KeyEvent evento) {
		
			
		}
		
		public void keyReleased(KeyEvent evento) {
			
			
			
		}
		
		public void keyPressed(KeyEvent evento) {
			
			if (evento.getKeyCode()==KeyEvent.VK_TAB) {
				//Disparar comando.
				System.out.println("certo");
				
			}
			
			
		}
	});
		[/code]