删除TextField周围的焦点框

时间:2013-11-17 21:26:16

标签: javafx

创建TextField并设置

时使用JavaFX
numberField.setFocusTraversable(false);

然后单击蓝色框周围显示的字段。我想这是有道理的 但没有

setFocus(bool)

命令。

我想摆脱这个盒子。有什么建议吗?

1 个答案:

答案 0 :(得分:6)

setFocusTraversable(false)禁用该节点的焦点遍历(通过TAB和SHIFT + TAB)。因此它与节点的GUI风格无关。要隐藏聚焦的蓝色,请执行以下操作:
通过代码

numberField.setStyle("-fx-focus-color: transparent;");

或通过css文件

.text-field {
    -fx-focus-color: transparent;
}

或css文件中的伪类

.text-field:focused{
     -fx-focus-color: transparent;
}

-fx-focus-color不是css属性,它是caspian.css(JavaFX 2)的预定义颜色。

此答案与How do I remove the default border glow of a JavaFX button (when selected)?相关并参考。