gpt4 book ai didi

java - 在 Fxml 中添加时 CustomTextField 不起作用

转载 作者:行者123 更新时间:2023-12-02 04:47:49 25 4
gpt4 key购买 nike

我有 TextField 带有十字来清除输入。当我像这样添加它时:

public class Controller implements Initializable {
@FXML
private TextField autoCompleteTextField = TextFields.createClearableTextField();
...

然后:

@Override
public void initialize(URL location, ResourceBundle resources){

autoComplete1 = TextFields.bindAutoCompletion(autoCompleteTextField,callback, converter);
autoCompletePane.getChildren().add(autoCompleteTextField);

一切都很好。但是当我想在 SceneBuilder 中添加此项目或在 Fxml 中手动添加此项目时:

<Pane fx:id="autoCompletePane" prefHeight="30.0" prefWidth="444.0">
<children>
<CustomTextField fx:id="autoCompleteTextField" layoutX="25.0" layoutY="3.0" />
// or TextField instead of CustomTextField
</children>
</Pane>

插入正常的TextField,没有交叉来清除输入。我能做什么?

最佳答案

您可以使用the fx:factory attribute指定一个不带参数的static方法来创建文本字段。 :

<Pane fx:id="autoCompletePane" prefHeight="30.0" prefWidth="444.0">
<children>
<TextFields fx:id="autoCompleteTextField" fx:factory="createClearableTextField" layoutX="25.0" layoutY="3.0" />
</children>
</Pane>

(当然,这需要 TextFields 类的导入处理指令。)

关于java - 在 Fxml 中添加时 CustomTextField 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56468742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com