cari
RumahJavajavaTutorialBagaimana untuk Mengendalikan MouseMotionEvents dalam JScrollPane Bersarang dalam Java Swing?

How to Handle MouseMotionEvents in a Nested JScrollPane in Java Swing?

MouseMotionListener dalam Java Swing: Mengendalikan Peristiwa Apabila Komponen Bersarang

Dalam Java Swing, antara muka MouseMotionListener membolehkan pengaturcara bertindak balas kepada peristiwa pergerakan tetikus . Walau bagaimanapun, apabila berbilang komponen bersarang antara satu sama lain, penyebaran peristiwa boleh menjadi rumit. Artikel ini menangani senario tertentu di mana MouseMotionEvents JScrollPane tersuai disekat oleh komponen bersarangnya.

Masalah: Menyekat Acara dalam Komponen Bersarang

Masalah timbul apabila menambah komponen ke JScrollPane, mengakibatkan peristiwa MouseMoved dan MouseDragged disekat. Ini menghalang kefungsian yang dimaksudkan untuk menyorot pandangan JScrollPane.

Pendekatan Ad Hoc: Menggunakan Tindakan Menatal JScrollPane

Penyelesaian melibatkan memanfaatkan tindakan sedia ada dalam JScrollPane yang biasa digunakan dalam pengikatan utama. Pendekatan ini membolehkan penatalan dicetuskan oleh pergerakan tetikus itu sendiri.

Pelaksanaan:

  1. Tentukan kelas pemasa (ScrollTimer) yang melaksanakan ActionListener dan mengendalikan tindakan menatal .
  2. Tambahkan MouseAdapter pada JViewport JScrollPane untuk mengesan pergerakan tetikus.
  3. Apabila kursor tetikus berada dalam jarak yang ditentukan dengan tepi port pandangan, pemasa tatal yang sepadan dimulakan.
  4. Pemasa secara berkala mencetuskan tindakan menatal yang sesuai (cth., tatalKiri, tatal Kanan) menggunakan peta tindakan JScrollPane.
  5. Pemasa berhenti selepas bilangan seruan yang telah ditetapkan atau apabila kursor tetikus bergerak menjauhi tepi.

Kod Contoh:

Coretan kod berikut menunjukkan pelaksanaan:

<code class="java">// ScrollTimer class...
// ScrollPane class...
// ...

public static void main(String[] args) {
    EventQueue.invokeLater(() -> new ScrollAction().display());
}</code>

Faedah:

  • Menyediakan cara yang mudah dan fleksibel untuk mengendalikan peristiwa gerakan tetikus walaupun apabila komponen bersarang.
  • Menghapuskan keperluan untuk penyebaran acara manual.

Nota: Pendekatan ini boleh disesuaikan dengan melaraskan nilai N untuk bilangan seruan pemasa dan KELEWATAN untuk selang pemasa.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan MouseMotionEvents dalam JScrollPane Bersarang dalam Java Swing?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa