Riješeno: java dobiva koordinate miša

dobiti koordinate miša U ovom ćemo članku raspravljati o tome kako dobiti koordinate miša unutar Java programa. Rukovanje događajima miša i dobivanje njihovih koordinata ključan je zadatak u izgradnji interaktivnih aplikacija i korisničkih sučelja. Prvo ćemo pogledati osnove rukovanja događajima miša i razne uključene biblioteke, nakon čega slijedi korak-po-korak prolazak kroz kod za postizanje ovog zadatka.

Uvod u rukovanje događajima miša u Javi

Rukovanje događajima miša temeljni je aspekt stvaranja interaktivnih aplikacija u Javi. The java.awt i java.awt.event paketi pružaju potrebne klase i sučelja za učinkovito rukovanje događajima miša.

Kada radimo s događajima miša u Javi, glavne klase i sučelja koje moramo razumjeti su MouseEvent, MouseListeneri MouseMotionListener. Klasa MouseEvent podklasa je klase ComponentEvent i predstavlja radnju miša, kao što je klik na gumb ili pomicanje pokazivača miša. Sučelje MouseListener sadrži metode za rukovanje različitim događajima miša, dok se sučelje MouseMotionListener bavi događajima kretanja miša kao što su povlačenje i pomicanje.

Implementacija dohvaćanja koordinata miša

Implementirajmo jednostavno rješenje za dohvaćanje koordinata miša u Javi.

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);
    }
}

Korak po korak objašnjenje koda

  • Prvo uvozimo potrebno java.awt, java.awt.event i javax.ljuljačka paketi.
  • Zatim kreiramo klasu tzv Koordinate miša koja se proteže JFrame i provodi MouseMotionListener sučelje. To nam omogućuje rukovanje događajima miša unutar klase.
  • Zatim deklariramo JLabel varijablu pod nazivom koordinateOznaka koji će prikazati trenutne koordinate miša.
  • U konstruktoru klase MouseCoordinates instanciramo koordinateOznaka i postavite njegov početni tekst. Dodajemo ga u JFrame pomoću BorderLayout.SJEVER poziciju i dodajte slušatelja kretanja miša u JFrame pomoću addMouseMotionListener() metoda.
  • Zatim nadjačavamo mouseMoved() metoda iz sučelja MouseMotionListener. Ova metoda se poziva svaki put kada se miš pomakne unutar komponente. Dobivamo x i y koordinate miša pomoću getX() i getY() metode klase MouseEvent i ažurirati tekst koordinateOznaka s novim koordinatama miša.
  • Ne zanima nas rukovanje događajima povlačenja mišem u ovom primjeru, pa jednostavno pružamo praznu implementaciju za mouseDragged() metoda.
  • Konačno, u glavnoj metodi stvaramo instancu Koordinate miša klase, postavite JFrame svojstva i učinite ga vidljivim korisniku

Uz ovu implementaciju, korisnici sada mogu vidjeti trenutne koordinate miša unutar prozora aplikacije dok pomiču miš. Ovaj članak demonstrira moć Javinih mogućnosti rukovanja događajima i koliko je jednostavno stvoriti interaktivne aplikacije sa samo nekoliko redaka koda.

Povezani postovi:

Ostavite komentar