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
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