J2se 上如何处理连续按键的问题 在用JAVA写一个PC上的游戏,想让主角出现连续技能。按一下“J”是一个消息,连续按3下"J"出现必杀技能。如何处理?在J2ME上好像是有一个KEYREP****什么的方法,J2SE上如何处理?谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 j2se?keypressed是支持连续按键的呀?。。(@#*(¥ KeyEvent.getKeyCode()是获取按键的键代码,每个键的编码都不一样的,这样就可以区分了 import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import java.awt.event.WindowAdapter;import javax.swing.JFrame;public class TestKey extends JFrame { private long startTime = 0; private int keyCode = 0; private int count = 0; public void launchFrame() { this.addKeyListener(new KeyMonistor()); setBounds(100, 100, 400, 400); setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { new TestKey().launchFrame(); } private class KeyMonistor extends KeyAdapter { public void keyPressed(KeyEvent e) { long pressedTime = System.nanoTime(); if (e.getKeyCode() == 74) { if (count == 0) { System.out.println("J发消息!"); startTime = pressedTime; count++; } else { if (pressedTime - startTime <= 1000000000) { startTime = pressedTime; count++; } else { System.out.println("J发消息!"); startTime = pressedTime; count = 1; } if (count == 3) { System.out.println("大招"); count = 0; } } } } }} java 中String对象的SubString效率怎么,会不会照成内存溢出 JTable中的某一列显示图片? Java里的“回调”是什么意思? 使用InstallAnywhere软件打包Java软件问题? JAVA老鸟们,给小弟推荐几本学习java的书吧 打包问题 有关repaint的问题 我想知道ie5.0以上,如果不下载java的那个plug-in,对applet支持有多少,有没有api啊? 今天在加班的同仁们来领分!!! 请问一下哪里有thinkink in java这本书下载 java如何读取BMP图像的十六进制编码 这个能用递归解决么,不行该怎么解决
keypressed是支持连续按键的呀?。。(@#*(¥
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;import javax.swing.JFrame;public class TestKey extends JFrame {
private long startTime = 0;
private int keyCode = 0;
private int count = 0; public void launchFrame() {
this.addKeyListener(new KeyMonistor());
setBounds(100, 100, 400, 400);
setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} public static void main(String[] args) {
new TestKey().launchFrame();
} private class KeyMonistor extends KeyAdapter { public void keyPressed(KeyEvent e) {
long pressedTime = System.nanoTime();
if (e.getKeyCode() == 74) {
if (count == 0) {
System.out.println("J发消息!");
startTime = pressedTime;
count++;
} else {
if (pressedTime - startTime <= 1000000000) {
startTime = pressedTime;
count++;
} else {
System.out.println("J发消息!");
startTime = pressedTime;
count = 1;
}
if (count == 3) {
System.out.println("大招");
count = 0;
} }
}
} }
}