如何在TextArea中按Tab键导航到下一个控件?
我可以为cath de key按下事件添加一个监听器,但是如何让textArea控件失去焦点(不知道要聚焦的链中的下一个字段)?
@FXML protected void handleTabKeyTextArea(KeyEvent event) {
if (event.getCode() == KeyCode.TAB) {
...
}
}
Run Code Online (Sandbox Code Playgroud) 有没有办法从关联的类控制器获取FXML加载文件的Scene对象.
我正在做这样的事情:
@FXML
private AnchorPane anchor;
Scene scene = anchor.getScene();
Run Code Online (Sandbox Code Playgroud)
但我想要一个不引用AnchorPane控件的解决方案.
如何循环播放场景的控件?我尝试使用getChildrenUnmodifiable()但它只返回第一级子级.
public void rec(Node node){
f(node);
if (node instanceof Parent) {
Iterator<Node> i = ((Parent) node).getChildrenUnmodifiable().iterator();
while (i.hasNext()){
this.rec(i.next());
}
}
}
Run Code Online (Sandbox Code Playgroud) 有什么方法可以将列约束应用于我的所有 GridPanes 列。我有各种 GridPane 控件,我希望它们共享以下列约束:
<ColumnConstraints hgrow="SOMETIMES" maxWidth="388.0" minWidth="74.0" prefWidth="74.0" />
Run Code Online (Sandbox Code Playgroud)
可以用css来实现吗?
编辑
我最终做了这样的事情。但它不起作用(我的列宽度调整为低于 74),有什么线索吗?
public static void resizeColumns(Pane parent){
for (Node component : parent.getChildren()) {
if (component instanceof GridPane) {
GridPane gridPane = (GridPane) component;
ObservableList<ColumnConstraints> columnConstraints = gridPane.getColumnConstraints();
for (ColumnConstraints column : columnConstraints) {
column.setMinWidth(74.0);
}
} else if (component instanceof Pane) {
resizeColumns((Pane) component);
} else if (component instanceof ScrollPane) {
resizeColumns((Pane) ((ScrollPane) component).getContent());
}
}
}
Run Code Online (Sandbox Code Playgroud) 我在mi fxml文件中有这样的东西:
<TextField fx:id="id" onInputMethodTextChanged="#foo" prefWidth="200.0" promptText="" />
Run Code Online (Sandbox Code Playgroud)
但是当我运行它时,我将TAB或鼠标移出TextField控件并且没有任何反应("foo"未被调用).
有没有办法从关联的类控制器获取FXML加载文件的Stage/Window对象?
特别是,我有一个模态窗口的控制器,我需要舞台来关闭它.
当内容的高度增加时,是否有任何方法可以自动向下滚动ScrollPane控件?例如,我在屏幕底部(ScrollPane内部)有一个TitledPane,当我展开它时,我希望ScrollPane向下滚动,这样我就能看到TitledPane的全部内容.
我正在使用css来更改TableView控件的默认字体大小.我的问题是,当字体大小改变时,也会改变滚动条的宽度(随着字体大小的减小,它看起来更薄).
我想更改TableView的字体大小,保持默认的滚动条宽度.
我的css文件:
.table-view {
-fx-font-size: 10px;
}
Run Code Online (Sandbox Code Playgroud)