Witam
Chce w javie napisac prosty programik. Sklada sie on z okienka i labela, gdy ruszam myszka po oknie to label ten jest wyswietalny w aktualnej pozycji myszki a jako text ma wlasnie ta pozycje
public class Window extends JFrame implements MouseMotionListener {
JLabel text;
public Window() {
setSize(500, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
addMouseMotionListener(this);
text = new JLabel();
add(text);
}
public void mouseDragged(MouseEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}
public void mouseMoved(MouseEvent e) {
text.setLocation(e.getX(), e.getY());
text.setText(e.getX() + " " + e.getY());
}
}
Funkcja main tworzy tylko obiekt klasy Window. Powyzszy kod nie dziala w sposob jaki chce.
Label tworzy sie i wyswietla w sobie aktualna pozycje myszki ale nie rusza sie, stoi w miejscu.
Taka obserwacje zauwazylem jezeli zamiast
text.setText(e.getX() + " " + e.getY());
Wpisze
text.setText("jakis tekst");
To label przesuwa sie w odpowiedni sposob.
Czy ktos moze wyjasnic mi na czym polega moj blad i wytlumaczyc w jaki sposob to dziala?
Pozdrawiam