Hi zusammen,
ich habe mal wieder ein Problem und finde den Fehler nicht. Ich habe zwei JLabels die sich auf und ab bewegen. Dabei hört das eine auf einen Timer der das Label auf und ab bewegt und das ander wird mit der Maus auf und ab bewegt. Beiden Labels wurde ein ComponentListener hinzugefügt der dann reagieren soll, wenn die Labels bewegt werden. Beim Label, dass durch den Timer bewegt wird funktioniert das, bei dem anderen nicht. Die aufgerufene Funktion ist die selbe und wirkt sich auf das gleiche Objekt aus.
Hat jemand eine Idee warum der 2. nicht reagiert?
Hier noch der Codeauszug:
ich habe mal wieder ein Problem und finde den Fehler nicht. Ich habe zwei JLabels die sich auf und ab bewegen. Dabei hört das eine auf einen Timer der das Label auf und ab bewegt und das ander wird mit der Maus auf und ab bewegt. Beiden Labels wurde ein ComponentListener hinzugefügt der dann reagieren soll, wenn die Labels bewegt werden. Beim Label, dass durch den Timer bewegt wird funktioniert das, bei dem anderen nicht. Die aufgerufene Funktion ist die selbe und wirkt sich auf das gleiche Objekt aus.
Hat jemand eine Idee warum der 2. nicht reagiert?
Hier noch der Codeauszug:
Java:
Timer t2 = new Timer(3000,new ActionListener() {
public void actionPerformed(ActionEvent e) {
soll.setLocation(/*neue Position*/);
}
});
public void mouseMoved(MouseEvent e){
int y = 0;
if(e.getY() < 89) y = 89;
else if (e.getY() > 450) y = 450;
else y = e.getY();
ist.setLocation(158, y);
}
soll.addComponentListener(new ComponentListener() {
public void componentResized(ComponentEvent e) {/*not used*/}
public void componentShown(ComponentEvent e) {/*not used*/}
public void componentHidden(ComponentEvent e) {/*not used*/}
public void componentMoved(ComponentEvent e) {
Point sollPoint = e.getComponent().getLocation();
Point istPoint = ist.getLocation();
Rectangle rect = gap.updatePosition(istPoint, sollPoint,
ist.getWidth(), ist.getHeight(), soll.getWidth(),
soll.getHeight());
gap.setBounds(rect);
gap.setRectangle(rect);
gap.repaint();
}
});
ist.addComponentListener(new ComponentListener() {
public void componentResized(ComponentEvent e) {/*not used*/}
public void componentShown(ComponentEvent e) {/*not used*/}
public void componentHidden(ComponentEvent e) {/*not used*/}
public void componentMoved(ComponentEvent e) {
Point sollPoint = e.getComponent().getLocation();
Point istPoint = ist.getLocation();
Rectangle rect = gap.updatePosition(istPoint, sollPoint,
ist.getWidth(), ist.getHeight(), soll.getWidth(),
soll.getHeight());
gap.setBounds(rect);
gap.setRectangle(rect);
gap.repaint();
}
});