Rumah >Java >javaTutorial >Bagaimana untuk Mengendalikan MouseMotionEvents dalam JScrollPane Bersarang dalam 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:
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:
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!