是否可以在TextField中禁止选择?

时间:2012-08-16 20:28:32

标签: javafx-2

我遇到一个小问题:我的文本字段会不断选择自己,例如,如果我在应用程序中使用alt-tab。

对于我的应用程序,不需要文本选择,也不会使用 - 因此我想禁止这种烦人的行为。实际上,只需将选择颜色设置为透明或白色就可以了。

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:2)

您可以禁用关键事件的文本选择:

myTextField.addEventFilter(KeyEvent.KEY_TYPED, new EventHandler<KeyEvent>() {
    @Override
    public void handle(KeyEvent inputevent) {
        if (!myTextField.getSelectedText().isEmpty()) {
            myTextField.deselect();
        }
    }
});

对于鼠标事件,您还可以使用:

myTextField.addEventFilter(MouseEvent.MOUSE_DRAGGED, new EventHandler<MouseEvent>() {
    @Override
    public void handle(MouseEvent event) {
        if (!myTextField.getSelectedText().isEmpty()) {
            myTextField.deselect();
        }
    }
});

答案 1 :(得分:1)

以下css为我解决了这个问题:

-fx-highlight-fill: null;
-fx-highlight-text-fill: null;