【发布时间】:2017-10-24 03:52:22
【问题描述】:
我尝试构建文本对话框,用户可以在其中输入活动名称、活动规模和选择的场地。
我的问题是如何收集输入;这是我到目前为止所做的:
eventName = new TextField();
eventSize = new TextField();
ObservableList<Venue> options =
FXCollections.observableArrayList(model.getVenuesList());
VeunueList = new ComboBox<Venue>(options);
我创建了一个类来封装我的所有输入:
public class MyResult {
String eventname;
String eventsize;
Venue venue;
}
我将变量定义为 Myresult 类的对象:
private Dialog<MyResult> dialog ;
private Optional<MyResult> EventInput;
问题是如何在结果转换器中写return语句;它给了我错误:
dialog.setResultConverter(dialogButton -> {
if (dialogButton == submit) {
return new MyResult(eventName.getText(),eventSize.getText(),VeunueList.getValue())
}
return null;
});
EventInput = dialog.showAndWait();
【问题讨论】:
-
您可以选择
VenueList.getValue()。为什么不写一个简单的类来封装这三条数据,而不是丑陋的Pair<Pair<String, String>, String>? (您肯定会想要将这些数据保存在应用程序其他地方的单个对象中的东西吗?) -
感谢您的评论,显然我是 Java 新手,我喜欢您将所有数据封装在一个类中的想法,我会尝试这样做,谢谢
标签: java javafx combobox dialog