Preciso usar as setas do teclado (direita,esquerda,acima,abaixo) como faço pra capturar essas teclas, e se pressionada realizar uma função até que ela seja solta. como faço isso?!?!?!
:lol:
Oi,
Utilize a função Busca antes de postar qualquer código! sua resposta pode estar lá, ok?
Procure por KeyListener.
Tchauzin!
Opa já tinha olhado em outro topicos, acho qu ew expliquei direto o problema é que quero que a função realize algo até a pessoa pare de apertar o botão, pois capturar a tecla eu já sei como o fazer, mas essa parte nw.
Oi,
Se você procurar por KeyListener irá ver que nele existe a função KeyReleased.
Tchauzin!
Beleza vou pesquisar aqui! Desculpa ai, mas é que to tendo que aprender java na marra mesmo!
Teria algum exemplo de uso???
Exemplo de uso? Como assim?
Uma dica pra você, que tá começando: use o Google. Apesar de parecer grosso, não foi a intenção. É que grande parte da documentação você acha por lá (eu particularmente nunca entrei direto no repositório). Então digita “KeyPressed Java 6” que vai ter lá o que é. Aliás, essa parte de KeyListener é sempre bom dar uma lida (KeyReleased, KeyPressed, KeyTyped e os outros). Apesar de serem muito parecidas, tem algumas diferenças
Abraço.
Oi,
Segue o exemplo.:
http://java.sun.com/docs/books/tutorial/uiswing/events/keylistener.html
Tchauzin!
isso q esta procurando:
JFormattedTextField oGet = new JFormattedTextField();
oGet.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
JOptionPane.showMessageDialog(null, "a numero da tecla pressionada foi: "+evt.getKeyCode() );
}
}
espero ter ajudado…
Pessoal depois de dar uma olhada no que vcs passaram fiz isso aqui:
[code]package camera;
import Serial.;
import confi.;
import camera.CapImagem.;
import java.awt.;
import java.awt.event.;
import javax.swing.;
import java.io.*;
/**
*
-
@author Will
*/
public class Frontend extends javax.swing.JFrame implements KeyListener{
//public static String direcao;
Escrita serial=new Escrita();
/** Creates new form Frontend */
public Frontend() {
initComponents();
mudafundo();
configura();
this.addKeyListener(this);
Exibicao.addKeyListener(this);
CapImagem t = new CapImagem(Visor.getWidth() - 7, Visor.getHeight() - 7, 4, 4);
Visor.add(t);
}
public void configura(){
try{
File arquivo = new File("Confi_Porta.txt");
if(!arquivo.exists())
{
JOptionPane.showMessageDialog(null, "Porta de Comunicação não configurada","Configurar",JOptionPane.ERROR_MESSAGE);
new Porta().setVisible(true);
}
File f = new File("Dados do Usuário.txt");
if(!f.exists())
{
JOptionPane.showMessageDialog(null, "Usuário não foi cadastrado!!","Configurar",JOptionPane.ERROR_MESSAGE);
new Usuario().setVisible(true);
}
}catch (Exception e){
e.printStackTrace();
}
}
private void mudafundo() {
JL_Corsensor.setForeground(Color.green);
JL_Corsensor.setBackground(Color.green);
JL_Corsensor.setOpaque(true);
}
public void keyPressed(KeyEvent e)
{
JOptionPane.showMessageDialog(null,"ola");
int keyCode = e.getKeyCode();
if (keyCode == KeyEvent.VK_UP) {
System.out.println("Para cima");
if (keyCode == KeyEvent.VK_DOWN) {
System.out.println("Para Baixo!");
if (keyCode == KeyEvent.VK_LEFT) {
System.out.println("Para Esquerda!");
if (keyCode == KeyEvent.VK_RIGHT) {
System.out.println("Para Direita!");
}
}
}
}
}[/code]
Só que o keyPressed não está capturando e mostrando nada pra mim na tela, eu sei que essa linha não deve ser assim:
keyPressed(null);
O que estou fazendo de errado?? Podem me ajudar?
Ainda nw consegui usar o KeyPressed, inseri
[code] this.addKeyListener(this);
Exibicao.addKeyListener(this);[/code]
E nada de funcionar pra nw inchar o topico atualizei o codigo todo da pagina pq nw estou conseguindo achar o erro e pq nw esta funcionando esse comando.
As classes de listeners devem ser adicionadas ao componente que irá disparar.
No caso, sua classe extende JFrame. Ela possui um método addKeyListener que, no caso, receberá a referencia da propria classe:
Não é necessário chamar o método explicitamente.