Saya menulis program di mana Anda dapat mengetikkan teks. Saya juga menambahkan sistem pintasan, tetapi saya melihat sesuatu sedikit mengganggu saya.

Jadi saya membuat JFrame, yang mendengarkan kelas yang memperluas antarmuka KeyListener.

Saya membuat ArrayList, menyimpan kode semua tombol yang sedang ditekan.

Daftar array ini pada dasarnya berfungsi dengan metode keyPressed dan keyReleased. Jika tombol ditekan, maka kodenya masuk ke daftar array. Jika kuncinya dirilis, maka ia berhenti dari daftar array. Kemudian saya menguji banyak program awal ini, dan saya perhatikan bahwa jika saya meninggalkan bingkai sambil menekan tombol apa saja dan kemudian saya melepaskan tombol (bukan dalam bingkai saat itu) maka program tidak tahu bahwa saya merilis kunci.

Lalu bagaimana saya bisa tahu apakah kuncinya masih ditekan atau tidak, atau tahu kapan pengguna meninggalkan "perhatian" pada jendela bingkai.

0
Noé Molmy 3 April 2021, 00:52

2 jawaban

Jawaban Terbaik

Metode hasFocus() dari Jframe akan mengembalikan true jika JFrame berada di latar depan dan salah jika tidak. Dengan kata lain, jika pengguna mengklik atau beralih di luar JFRAME, hasFocus() akan mengembalikan false.

0
SciFiDryer 2 April 2021, 22:29