Java低速GUI Swing

このエントリーをはてなブックマークに追加
589585
import javax.swing.*;
import java.awt.event.*;
//<applet code="KeyTest" width="500" height="500"></applet>
public class KeyTest extends JApplet {
  public void init() {
    setFocusable(true);
    addKeyListener(new KeyListener() {
      public void keyPressed(KeyEvent e) {
        System.out.println("keyPressed");
      }
      public void keyReleased(KeyEvent e) {
        System.out.println("keyReleased");
      }
      public void keyTyped(KeyEvent e) {
        System.out.println("keyTyped");
      }
    });
  }
}
linuxのjavaではAなどのキーを押すとkeyPressed,
keyTyped, keyReleasedの順で呼ばれます。キーを押している間は
何回も呼ばれます。

windowsではキーを押している間はkeyReleasedは呼ばれないと思う
のですが、この違いを無くすにはどうすればいいでしょうか。
何故このスレで聞くのか謎な気もするけども。

ttp://forum.java.sun.com/thread.jsp?thread=478835&forum=31&message=2226939

で全く同じ問題が議論されてる。

「System プロパティを見てプラットフォームごとにコードを変えろ」とか
「Press されるたびにそのキーを監視しろ」とか
「初めてキーが押されたらタイマーを開始して云々」とか書いてある。
>System プロパティを見てプラットフォームごとにコードを変えろ
Javaなのに???
Javaってプラットフォーム非依存なんじゃないの???
煽りはスルーなのでございます。
>>591
ネイティブコードではそれさえできない