在创建TextField并设置时使用JavaFX
numberField.setFocusTraversable(false);
Run Code Online (Sandbox Code Playgroud)
然后单击蓝色框周围显示的字段.我想这是有道理的,但没有
setFocus(bool)
Run Code Online (Sandbox Code Playgroud)
命令.
我想摆脱这个盒子.有什么建议?
在setFocusTraversable(false)该节点禁用聚焦横动(由TAB和SHIFT + TAB).因此它与节点的GUI风格无关.要隐藏聚焦的蓝色,请执行以下操作:
通过代码
numberField.setStyle("-fx-focus-color: transparent;");
Run Code Online (Sandbox Code Playgroud)
或通过css文件
.text-field {
-fx-focus-color: transparent;
}
Run Code Online (Sandbox Code Playgroud)
或css文件中的伪类
.text-field:focused{
-fx-focus-color: transparent;
}
Run Code Online (Sandbox Code Playgroud)
-fx-focus-color 它不是css属性,它是caspian.css(JavaFX 2)的预定义颜色.
此答案与以下内容相关并参考:如何删除JavaFX按钮的默认边框发光(选中时)?.