java鍵盤監聽之視窗監聽的實現
一、程式碼
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)視窗不中斷,監聽就不會停止。
相關文章
- 監聽鍵盤事件事件
- python pynput監聽鍵盤Python
- flutter中監聽鍵盤Flutter
- vue的監聽鍵盤事件的快捷方法Vue事件
- Lumen 實現 SQL 監聽SQL
- Android監聽軟鍵盤收起與彈出Android
- 監聽 watch props物件屬性監聽 或深度監聽物件
- vue 動態監聽視窗大小變化事件Vue事件
- Android開發之監聽軟鍵盤狀態(彈出收回)Android
- h5監聽手機鍵盤彈起H5
- vue之監聽事件Vue事件
- Android 監聽鍵盤狀態變化,並獲取鍵盤高度Android
- Android Home鍵、鎖屏鍵監聽Android
- JavaFx 監聽剪下板實現(Kotlin)JavaKotlin
- Java 監聽POST請求Java
- windows10怎麼檢視監聽埠_windows10檢視監聽埠的方法Windows
- OkHttp優雅的實現下載監聽HTTP
- web app 中物理返回鍵的監聽WebAPP
- watch監聽
- 安卓使用物理鍵監聽器安卓
- android PopupWindow監聽返回鍵無效Android
- java 監聽 redis 過期事件JavaRedis事件
- FreeSwtich的監聽功能
- AndroidTV開發中所有的遙控器按鍵監聽及注意事項,新增home鍵監聽Android
- Vue3.0的遞迴監聽和非遞迴監聽Vue遞迴
- spring-event-事件監聽機制實現Spring事件
- Echarts 監聽滑鼠右鍵或者雙擊Echarts
- 監聽視窗大小改變,同時根據視窗大小修改某個元素的大小
- 監聽滑鼠事件事件
- jQuery事件監聽jQuery事件
- 時間監聽
- Flutter事件監聽Flutter事件
- 7、listener監聽
- springboot事件監聽Spring Boot事件
- js 監聽事件JS事件
- JavaScript 事件監聽JavaScript事件
- 在duplicate時,出現監聽BLOCKED的情況,導致監聽自動關閉BloC
- Laravel 實時監聽列印 SQLLaravelSQL