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