gon*_*vis 4 java javafx eventhandler
Rectangle rect1 = new Rectangle(10, 10, 20, 20);
Rectangle rect2 = new Rectangle(60, 10, 20, 20);
EventHandler<MouseEvent> event = new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent ae) {
System.out.println("aaa");
}
};
rect1.setOnMouseClicked(event);
rect2.setOnMouseClicked(event);
Run Code Online (Sandbox Code Playgroud)
如何点击 rect1 打印 aaa,点击 rect2 打印 bbb ?
在我的实际程序中,我有数百个矩形,而在事件中,我有很多事情要做。所以我不想为每个人都声明事件。
谢谢!
Like so:
Rectangle rect1 = new Rectangle(10, 10, 20, 20);
rect1.setUserData( "aaa" );
Rectangle rect2 = new Rectangle(60, 10, 20, 20);
rect2.setUserData( "bbb" );
EventHandler<MouseEvent> event = new EventHandler<MouseEvent>()
{
@Override
public void handle( final MouseEvent ME )
{
Object obj = ME.getSource(); // you can also try ME.getTarget()
if ( obj instanceof Rectangle )
{
System.out.println( ((Rectangle) obj).getUserData() );
}
}
};
rect1.setOnMouseClicked(event);
rect2.setOnMouseClicked(event);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6289 次 |
| 最近记录: |