Получите данные из полей внутри вкладки в JavaFX - PullRequest
0 голосов
/ 06 мая 2020

У меня есть несколько вкладок serve1, server2, server3, которые содержат одинаковые поля пользовательского интерфейса. После нажатия кнопки отправки я хотел проверить поля всех трех вкладок. Как лучше всего это сделать? Я могу перебирать все вкладки, но как получить значения полей внутри вкладки.

//snippet - tabs creation

//IP address field

javafx.scene.control.TextField ipField = new javafx.scene.control.TextField();

Tab server1 = new Tab("server1");
server1.setContent(field);

Tab server2 = new Tab("server2");
server2.setContent(field);

Tab server3 = new Tab("server3");
server3.setContent(field);

//onSubmit

submitButton.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
            //validate IP address of all three servers here
            //how can I access the field here by iterating all three tabs?

}
});

Примечание: не использовать f xml способ построения пользовательского интерфейса

Заранее спасибо

1 Ответ

0 голосов
/ 07 мая 2020

Если я правильно понял ваш вопрос, вы можете использовать EditField для каждого Tab

Например:

javafx.scene.control.TextField ipField1 = new javafx.scene.control.TextField();

javafx.scene.control.TextField ipField2 = new javafx.scene.control.TextField();

javafx.scene.control.TextField ipField3 = new javafx.scene.control.TextField();

Tab server1 = new Tab("server1"); server1.setContent(ipField1);

Tab server2 = new Tab("server2"); server2.setContent(ipField2);

Tab server3 = new Tab("server3"); server3.setContent(ipField3);

//onSubmit

submitButton.setOnAction(new EventHandler() {

        @Override
        public void handle(ActionEvent event) {
        //validate IP address of all three servers here
        String ipaddr_server1 = ipField1.getText();
        String ipaddr_server2 = ipField2.getText();
        String ipaddr_server3 = ipField3.getText();

} });
...