Devo creare un ascoltatore dei tasti della tastiera(in particolare dei tasti freccia) Potete aiutarmi
Devo creare un ascoltatore dei tasti della tastiera(in particolare dei tasti freccia) Potete aiutarmi
leggi il manuale![]()
http://java.sun.com/docs/books/tutor...ylistener.html
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
dove posso trovare il codice di tutti i tasti?
EDIT: Usa la applet che c'e' all'indirizzo http://java.sun.com/docs/books/tutor...EventDemo.jnlp e guarda i codici dei tasti che ti interessano...
oppure le API. Raga, non si può programmare senza i manuali sottomano, in particolare se si tratta di un nuovo argomento.
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Puoi mica postare l'indirizzo delle api dove sono indicati i codici dei tasti.
Tempo fa le cercai (in maniera superficiale, lo ammetto) e non trovai niente di utile.
Nel caso mi riservissero in futuro.
EDIT:Niente, ho trovato...
http://java.sun.com/j2se/1.4.2/docs/.../KeyEvent.html
Scusate questo è il programma!! Non da errori Perchè allora non funge?
Pigiando i tasti il cerchio non si sposta! Se clicco il mouse si?
Potete provarlo e dirmi xKè nn va???
Grazie
import java.awt.*;
import java.awt.Graphics;
import java.awt.Color;
import java.awt.event.*;
public class gioco extends java.applet.Applet
{
int x=100;
public void init ()
{
Frame f1= new Frame (" Raccoglitore");
f1.setSize(900,900);
f1.setLocation(1,1);
ThreadPallino t1= new ThreadPallino();
Thread runner1= new Thread(t1);
f1.add(t1);
f1.setVisible(true);
runner1.start();
}
}
class ThreadPallino extends Canvas implements Runnable
{
int a;
int y=0;
public ThreadPallino()
{
Ascolta A1=new Ascolta();
addKeyListener(A1);
Ascolta2 A2=new Ascolta2();
addMouseListener(A2);
}
private class Ascolta2 extends MouseAdapter
{
public void mousePressed(MouseEvent E)
{
a=a+100;
}
}
private class Ascolta extends KeyAdapter
{
public void KeyPressed(KeyEvent e)
{
switch(e.getKeyCode())
{
case KeyEvent.VK_A:
a=a-10;
break;
case KeyEvent.VK_S:
a=a+10;
break;
}
}
}
public void run()
{
while (true )
{
y++;
if(y==900)
y=0;
repaint();
try
{
Thread.sleep(10);
}
catch ( InterruptedException e ){}
}
}
public void paint (Graphics g)
{
g.fillOval(a,y,50,50);
g.drawString(a+"",100,100);
}
}
Credo che il problema risieda nel fatto che KeyAdapter e KeyListener funzionano solo con componenti che possono ricevere il focus da tastiera (tipo textBox).
puoi propormi una soluzione?
Ok, il problema era molto piu' banale del previsto. Canvas ha il focus da tastiera.
Il problema sta nel fatto che hai scritto keyPressed con la k maiuscola invece che minuscola.
EDIT: Dimenticavo, io ho provato con MouseListener e KeyListener perchè MouseAdapter e KeyAdapter non mi andavano. Ti posto il codice
codice:private class Ascolta2 implements MouseListener { public void mousePressed(MouseEvent E) { a=a+100; } public void mouseClicked(MouseEvent e) {} public void mouseReleased(MouseEvent e) {} public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} } private class Ascolta implements KeyListener { public void keyPressed(KeyEvent e) { switch(e.getKeyCode()) { case KeyEvent.VK_A: a=a-10; break; case KeyEvent.VK_S: a=a+10; break; } } public void keyTyped(KeyEvent e) {} public void keyReleased(KeyEvent e) {} }