Я пытаюсь сделать что-то похожее на это: Swing - Get new component under mouseReleasedПолучить компонент под mouseReleased
В окне, у меня есть несколько кнопок с номером на каждом из них. Например, 2 8 5 6. Это означало бы 4 JButtons. Если я нажимаю мышь на 2, перетащить и отпустить на 8 ... Я хотел бы firstcomponent
содержать JButton 2 и lastcomponent
содержать JButton с 8
public class Bouton extends JButton implements MouseListener {
String name;
Component firstEntered;
Component lastEntered;
public Bouton(String str) {
super(str);
this.name = str;
this.addMouseListener(this);
}
@Override
public void mouseClicked(MouseEvent event) { }
@Override
public void mouseEntered(MouseEvent event) {
lastEntered = event.getComponent();
String name2 = ((JButton) lastEntered).getName();
System.out.println("entered : " + name2);
}
@Override
public void mouseExited(MouseEvent event) {
firstEntered = event.getComponent();
}
@Override
public void mousePressed(MouseEvent event) {
// I tried this didn't work...
//firstEntered = event.getComponent();
}
@Override
public void mouseReleased(MouseEvent event) {
firstEntered.setBackground(Color.RED);
lastEntered.setBackground(Color.BLUE);
String name = ((JButton) firstEntered).getName();
String name2 = ((JButton) lastEntered).getName();
System.out.println("Release ... first: " + name);
System.out.println("Release ... last entered: " + name2);
}
@Override
public String getName() {
return name;
}
}
Выход есть:
entered : 2
entered : 8
Release ... first: 2
Release ... last entered: 2
Моя проблема заключается в том, что я не понимаю, почему «Выпуск ... последний введен: 2» показывает 2. Почему это не 8?
Благодаря