Sissejuhatus hiire sรผndmuste kรคsitlemisse Javas
Hiire sรผndmuste kรคsitlemine on Java interaktiivsete rakenduste loomise pรตhiaspekt. The java.awt ja java.awt.event paketid pakuvad hiiresรผndmuste tรตhusaks kรคsitlemiseks vajalikke klasse ja liideseid.
Javas hiiresรผndmustega tรถรถtades on peamised klassid ja liidesed, millest peame aru saama MouseEvent, MouseListenerja MouseMotionListener. Klass MouseEvent on klassi ComponentEvent alamklass ja esindab hiiretoimingut, nรคiteks nupul klรตpsamist vรตi hiirekursori liigutamist. MouseListeneri liides sisaldab meetodeid erinevate hiiresรผndmuste kรคsitlemiseks, samas kui MouseMotionListeneri liides tegeleb hiire liikumise sรผndmustega, nagu lohistamine ja liigutamine.
Hiirekoordinaatide otsimise rakendamine
Rakendame lihtsa lahenduse hiire koordinaatide hankimiseks Java-s.
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class MouseCoordinates extends JFrame implements MouseMotionListener { JLabel coordinatesLabel; public MouseCoordinates() { coordinatesLabel = new JLabel("Mouse coordinates: "); add(coordinatesLabel, BorderLayout.NORTH); addMouseMotionListener(this); } @Override public void mouseMoved(MouseEvent e) { int x = e.getX(); int y = e.getY(); coordinatesLabel.setText("Mouse coordinates: (" + x + ", " + y + ")"); } @Override public void mouseDragged(MouseEvent e) {} public static void main(String[] args) { MouseCoordinates frame = new MouseCoordinates(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300, 200); frame.setVisible(true); } }
Koodeksi samm-sammult selgitus
- Esiteks impordime vajaliku java.awt, java.awt.event ja javax.swing pakette.
- Seejรคrel loome klassi nimega Hiirekoordinaadid mis laieneb JFrame ja rakendab MouseMotionListener liides. See vรตimaldab meil klassis hiiresรผndmusi kรคsitleda.
- Jรคrgmisena deklareerime JLabeli muutuja nimega koordinaadidLabel mis kuvab praegused hiire koordinaadid.
- MouseCoordinates klassi konstruktoris instantseerime koordinaadidLabel ja mรครคrake selle esialgne tekst. Lisame selle JFrame'i kasutades BorderLayout.PรHJA positsiooni ja lisage hiire liikumise kuulaja JFrame'i kasutades addMouseMotionListener() meetod.
- Seejรคrel tรผhistame hiir liigutatud() meetodit MouseMotionListeneri liidesest. Seda meetodit kutsutakse alati, kui hiirt komponendi sees liigutatakse. Saame hiire x ja y koordinaadid kasutades getX() ja getY() klassi MouseEvent meetodeid ja vรคrskendage teksti koordinaadidLabel uute hiirekoordinaatidega.
- Me ei ole selles nรคites huvitatud hiire lohistamise sรผndmuste kรคsitlemisest, seega pakume selle jaoks lihtsalt tรผhja teostuse hiir lohistatud () meetod.
- Lรตpuks loome pรตhimeetodis eksemplari Hiirekoordinaadid klassi, seadistage JFrame'i atribuudid ja tehke see kasutajale nรคhtavaks
Selle rakendusega saavad kasutajad nรผรผd hiirega liigutades rakenduse aknas nรคha praeguseid hiirekoordinaate. See artikkel demonstreerib Java sรผndmuste kรคsitlemise vรตimaluste vรตimsust ja seda, kui lihtne on luua interaktiivseid rakendusi vaid mรตne koodireaga.