我有TableView,当用户点击一个单元格时,我想让我的程序执行doSomething()。在Internet上搜索(包括stackoverflow)后,我找到了this。
试过那个方法,但是我在这些代码上遇到了编译错误:
EventHandler click = new EventHandler() {
public void handle(MouseEvent t) {
System.out.println("CLICKED");
}
};
NetBeans要求我覆盖所有的abscract方法,所以我做了。
EventHandler click = new EventHandler() {
@Override
public void handle(MouseEvent t) {
System.out.println("CLICKED");
}
};
仍有同样的错误:
error: method does not override or implement a method from a supertype
如果我删除了@Override注释,我得到了:
error: <anonymous pengamatan.penginderaan.FXMLDocumentController$4> is not abstract and does not override abstract method handle(Event) in EventHandler
有任何帮助吗?谢谢。
答案 0 :(得分:1)
您可以尝试:
cell.addEventFilter(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
System.out.println("cell clicked!");
}
});
找到here
答案 1 :(得分:-4)
找到解决方案!这是代码:
....
import javafx.scene.input.MouseEvent;
....
....
EventHandler click = new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent t) {
if(t.getClickCount()>1) {
System.out.println("DOUBLE CLICK");
}
}
};
....
希望它有所帮助。谢谢。