キーイベントをすぐ発生させる

[上に] [前に] [次に]
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(); を入れることによって、
解決しました。
ご意見ありがとうございました。

[上に] [前に] [次に]