如果节点在输入鼠标时尝试禁用自身, 说
final Button btn = new Button("Hello");
btn.setOnMouseEntered(new EventHandler<Event>() {
@Override
public void handle(Event event) {
btn.setDisable(true);
System.out.println("Mouse in");
}
});
btn.setOnMouseExited(new EventHandler<Event>() {
@Override
public void handle(Event event) {
btn.setDisable(false);
System.out.println("Mouse out");
}
});
我预计单身&#34;鼠标在&#34;而光标是 在按钮上,但按钮是&#34;闪烁&#34;和 &#34;鼠标在&#34;,&#34;鼠标输出&#34;一遍又一遍地写着。
这是某种错误,因为类似的代码 在Swing表现如我所料?
答案 0 :(得分:0)
这是因为当一个按钮被禁用时,鼠标会离开它,从而触发一个MouseExitedEvent。
要避免这种情况,请在调用setDisable之前使用setMouseTransparent使控件不知道mouseevents。