KeyPressed (Urgente)

Tenho um trabalho para fazer… um sistema de leitura para deficiente visual… e gostaria de saber como faço para ao aperta o ENTER execute o Play…e ESC para Stop…e assim sucessivamente… como uso essa função…? como coloco as condições?

faz alguma coisa assim

componente.addKeyListener(new KeyAdapter() {
    public void keyReleased(KeyEvent e) {
        int keyCode = e.getKeyCode();
        if (keyCode == KeyEvent.VK_ENTER)
            System.out.println("AQUI CHAMA O TEU PLAY");
        else if (keyCode == KeyEvent.VK_ESCAPE)
            System.out.println("AQUI CHAMA O TEU STOP");
    }                        
});

qual o problema desse codigo?

[code]
import java.net.;
import java.awt.
;
import java.awt.event.;
import javax.swing.
;

public class opcao1 extends JFrame implements KeyListener
{
private JLabel l0;
private JTextField c0;
private JButton b1, b2;

public opcao1()
{
	super("Menu Inicial");
	
	Container container = getContentPane();
	container.setLayout (new FlowLayout());
					
	l0 = new JLabel("Opção");
	
	c0 = new JTextField(5);
	
	b1 = new JButton("EXECUTAR MENU");
	b2 = new JButton("SAIR");
	
	//b1.addKeyListener(this);
	//b2.addKeyListener(this);
	
	container.add(l0);
	container.add(c0);
	
	container.add(b1);
	container.add(b2);
	
	setSize(150,150);
	setVisible(true);
}
	
	

public void keyPressed (KeyEvent event)
{

		 Key.addKeyListener(new KeyAdapter() 
		  { 
			public void keyReleased(KeyEvent e) 
			{ 
    			int keyCode = e.getKeyCode(); 
   				
   				 if (keyCode == KeyEvent.VK_ENTER) 
        			System.out.println("AQUI CHAMA O TEU PLAY"); //>teste
    
    			else if (keyCode == KeyEvent.VK_ESCAPE) 
        
        			System.exit(0); 
			}                        
		  }); 
}

	
public static void main(String args[]) 
{
	opcao1 application = new opcao1();
	application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);

	
	
	/*WindowListener x = new WindowAdapter()
    {
		public void windowClosing(WindowEvent e)
		{
			System.exit(0);
		}
    };
	application.addWindowListener(x);*/
	
}

}[/code]

olha… nao cheguei a testar… mas olhando por cima agora nao seria

      //b1.addKeyListener(this);
      //b2.addKeyListener(this);

por q estao comentadas?

não… ele dá esse erro…

[quote]C:\Documents and Settings\Luana Kelly\Desktop\Trabalho\opcao1.java:7: opcao1 should be declared abstract; it does not define keyTyped(java.awt.event.KeyEvent) in opcao1
public class opcao1 extends JFrame implements KeyListener[/quote]

cara LuanaKelly,

não prestei mta atençao no tópico, mas notei q a msg de erro eh mto esclarecedora:

[quote]C:\Documents and Settings\Luana Kelly\Desktop\Trabalho\opcao1.java:7: opcao1 should be declared abstract; it does not define keyTyped(java.awt.event.KeyEvent) in opcao1
public class opcao1 extends JFrame implements KeyListener[/quote]

ela quer dizer q quando vc implementa KeyListener, vc tem q reimplementar o método keyTyped, ou declarar sua classe como abstrata.

tente acrescentar issu ao seu código

public void keyTyped(KeyEvent event){}

Espero q seja issu

Ederson

Caro Ederson

com certeza, vc tem toda razão, está na cara o que o erro quer dizer…mas não é só isso…continua dando erro…mesmo implementando os métodos KeyTyped, KeyPressed e KeyReleased…

obrigado :wink:

oi luana, rodei o seguinte codigo:

[code]import java.awt.;
import java.awt.event.
;
import javax.swing.*;

public class opcao1 extends JFrame implements KeyListener
{
private JLabel l0;
private JTextField c0;
private JButton b1, b2;

public opcao1()
{
super(“Menu Inicial”);

  Container container = getContentPane();
  container.setLayout (new FlowLayout());
              
  l0 = new JLabel("Opção");
  c0 = new JTextField(5);
  b1 = new JButton("EXECUTAR MENU");
  b2 = new JButton("SAIR");
  
  c0.addKeyListener(this);
  b1.addKeyListener(this);
  b2.addKeyListener(this);
  
  container.add(l0);
  container.add(c0);
  container.add(b1);
  container.add(b2);
  
  setSize(150,150);
  setVisible(true);

}

public void keyPressed (KeyEvent event){}

public void keyTyped (KeyEvent event){}

public void keyReleased(KeyEvent e) {
int keyCode = e.getKeyCode();

      if (keyCode == KeyEvent.VK_ENTER)
       System.out.println("AQUI CHAMA O TEU PLAY");

      else if (keyCode == KeyEvent.VK_ESCAPE)
      	System.out.println("AQUI CHAMA O TEU STOP");

}

public static void main(String args[])
{
opcao1 application = new opcao1();
application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);
}
}[/code]

e ele nao apresentou problema nenhum.
coloquei os 3 addKeyListener porque entendi que voce queria que apertando ENTER ou ESC em qualquer momento da tela (com o foco em qualquer componente) o programa fizesse o comportamento esperado.

espero ter ajudado
[]'s