在JavaFX中从标签页中获取数据。

问题描述 投票:0回答:1

我有多个tabs serve1,server2,server3,其中包含相同的UI字段。一旦提交被按下,我想验证所有3个标签页的字段.什么是最好的方法,我可以迭代所有的标签页,但如何检索标签页内的字段值。

//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?

}
});

注:不使用fxml方式构建UI。

先谢谢你

java javafx tabpanel
1个回答
0
投票

如果我对你的问题理解正确的话,你可以用一个 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();

} });
© www.soinside.com 2019 - 2024. All rights reserved.