Mình đang dùng Netbean để viết chương trình bắt phím bằng Java. Đoạn code sau là để bắt phím mũi tên san phải >
. Nếu mình bấm nút đấy thì chương trình này phải in ra “What the ****”.
Thế nhưng mình đang gặp một vấn đề là: Đôi khi bấm phím >
thì chương trình in ra “What the ****”, đôi khi bấm >
thì lại không in ra gì cả mặc dù mình không sửa code.
Đây là đoạn code mình đang viết:
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
*
* @author thinh
*/
public class Testkeylistener extends JPanel {
Testkeylistener(){
addKeyListener(new attack());
setFocusable(true);
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
JFrame frame = new JFrame();
Testkeylistener game = new Testkeylistener();
frame.setTitle("game one piece");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(700,500);
frame.setVisible(true);
// frame.setLocationRelativeTo(null);
frame.getContentPane().add(game);
}
private class attack extends KeyAdapter {
@Override
public void keyTyped(KeyEvent e) {
System.out.println(" it's me");
}
@Override
public void keyPressed(KeyEvent e) {
System.out.println("what the ****");
}
@Override
public void keyReleased(KeyEvent e) {
}
}
}
Đây là link toàn bộ project nếu ai có thời gian xem thì mình cảm ơn