CustomTextField не работает при добавлении в Fxml - PullRequest
0 голосов
/ 06 июня 2019

У меня есть 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>

normal TextField вставляется без перекрестного, чтобы очистить ввод.Что я могу сделать?

1 Ответ

0 голосов
/ 06 июня 2019

Вы можете указать метод static, не принимающий параметры для создания текстового поля, используя атрибут fx:factory :

<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.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...