我在JavaFX中寻找功能,我可以在那里禁用或解雇"请求的重点。
以下是我的计划的屏幕截图:Screenshot
每个单元格都填充了一个Eventhandler(onMouseEntered和onMouseExited),并且在每个onMouseEntered函数中,我必须像这样请求焦点:
label.requestFocus()
。我需要这样做,因为我使用KeyEvents来更改单元格的内容。
它工作正常,但有一个错误:当我离开scrollPane时,仍然有请求的焦点在最后输入的单元格上。
如何解决这个问题,而无需关注Scrollpane周围的所有内容来修复此错误?是否有一个函数,我可以在其中解除所请求的焦点,因此在退出单元格后,它将忽略焦点。
致以最诚挚的问候,
我的代码:
arbeitetLabel.setOnMouseEntered(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent mouseEvent) {
arbeitetLabel.requestFocus();
arbeitetLabel.setOnKeyPressed(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent keyEvent) {
// Do some keyEvent Stuff
}
});
}
});
arbeitetLabel.setOnMouseExited(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent mouseEvent) {
// Dismiss the requested Focus here?
}
});
答案 0 :(得分:0)
我将焦点传递给父母,就是这样!
arbeitetLabel.getParent().requestFocus()