一、代码
MainMethod.java(主函数方法)
package cn.lrt.program; import java.awt.*; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.security.Key; class MainMethod extends Frame { KeyMonitorDemo keyMonitorDemo = new KeyMonitorDemo(); public void launchedFrame() { this.setTitle("我是一个测试"); this.setVisible(true); this.setSize(300,300); this.setLocation(300,300); this.addWindowListener(new WindowAdapter(){ @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); this.addKeyListener(new KeyListener()); } public static void main(String[] args) { MainMethod method = new MainMethod(); method.launchedFrame(); } class KeyListener extends KeyAdapter { public void keyPressed(KeyEvent e) { keyMonitorDemo.addDirection(e); } public void keyReleased(KeyEvent e) { keyMonitorDemo.minusDirection(e); } } }KeyMonitorDemo.java(键盘的监听类)
package cn.lrt.program; import java.awt.*; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.security.Key; class MainMethod extends Frame { KeyMonitorDemo keyMonitorDemo = new KeyMonitorDemo(); public void launchedFrame() { this.setTitle("我是一个测试"); this.setVisible(true); this.setSize(300,300); this.setLocation(300,300); this.addWindowListener(new WindowAdapter(){ @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); this.addKeyListener(new KeyListener()); } public static void main(String[] args) { MainMethod method = new MainMethod(); method.launchedFrame(); } class KeyListener extends KeyAdapter { public void keyPressed(KeyEvent e) { keyMonitorDemo.addDirection(e); } public void keyReleased(KeyEvent e) { keyMonitorDemo.minusDirection(e); } } }二、代码结构
三、运行截图(这是按下键盘的时候才会响应的。up键、down键、right键、left键) (1)窗口不中断,监听就不会停止。