キーイベントをすぐ発生させる
[上に]
[前に]
[次に]
雪
1999/06/24(木) 19:30:08
新たな問題が出てしまいました。
キーを押したら、動作するイベントで、
キーイベントが動くようになったのですが、
実行した時に、アプレット内でマウスをクリックする前では、
キーを押しても何も起こりません。
マウスをクリックした後では、押したキーによって、
反応しています。
どうすれば最初からキーイベントが起こるようになるのか、
教えてください。
B-Cus
1999/06/24(木) 19:34:58
ソースは?
B-Cus
1999/06/24(木) 19:38:41
あと、そのアプレットを実際にwebに置いて、誰でも試せるようにしてほしい。
雪
1999/06/28(月) 10:31:05
ソースは、
import java.applet.Applet;
import java.awt.*;
public class ja04_11 extends Applet {
Image imgs;
int px = 200, py = 150;
public void init() {
imgs = getImage(getDocumentBase(), "bfly6.gif");
}
public void paint(Graphics g) {
g.drawImage(imgs, px, py, this);
}
public boolean keyDown(Event evt, int key) {
switch (key) {
case Event.UP: py = py-10; break;
case Event.DOWN:py = py+10; break;
case 1006 : px = px-10; break;
case 1007 : px = px+10; break;
}
repaint();
return true;
}
}
雪
1999/06/28(月) 10:37:41
すみません。
変なところで送信を押してしまいました。
もう一度書き直しました。
ソースは、
import java.applet.Applet;
import java.awt.*;
public class ja04_11 extends Applet {
Image imgs;
int px = 200, py = 150;
public void init() {
imgs = getImage(getDocumentBase(), "bfly6.gif");
}
public void paint(Graphics g) {
g.drawImage(imgs, px, py, this);
}
public boolean keyDown(Event evt, int key) {
switch (key) {
case Event.UP: py = py-10; break;
case Event.DOWN: py = py+10; break;
case Event.LEFT: px = px-10; break;
case Event.RIGHT: px = px+10; break;
}
repaint();
return true;
}
}
です。
それから、webに置いて、誰でも試せるようにする方法を
知らないのですが、どうすれば良いのですか。
雪
1999/06/28(月) 10:59:32
[[解決]]
init() の中で、requestFocus(); を入れることによって、
解決しました。
ご意見ありがとうございました。
[上に]
[前に]
[次に]