gpt4 book ai didi

java - 在 for 循环中等待输入的最佳方法?

转载 作者:太空宇宙 更新时间:2023-11-04 07:57:13 25 4
gpt4 key购买 nike

在 JavaFX 2 中,我有一个通过读取 Excel 文件来填充的 TableView。它看起来像这样:

identification    cellcount    calved
o0001 12345 false
o0002 65432 true
o0003 55555 false
...

当用户按下“导入”按钮时,所有记录都必须添加到数据库中。但是,如果“产犊”字段的值为“true”,我会显示一个对话框窗口,用户必须在其中选择一个日期来指定产犊发生的时间。现在最大的问题是我希望我的 for 循环在对话框窗口打开时立即暂停。使用我当前的代码,所有对话框窗口都彼此堆叠。

这是加载 FXML 的 Dialog 方法:

public void showDialog(String sURL){
final Stage myDialog = new Stage();
myDialog.initStyle(StageStyle.UTILITY);
myDialog.initModality(Modality.APPLICATION_MODAL);

URL url = getClass().getResource(sURL);

FXMLLoader fxmlloader = new FXMLLoader();
fxmlloader.setLocation(url);
fxmlloader.setBuilderFactory(new JavaFXBuilderFactory());
try {
Node n = (Node) fxmlloader.load(url.openStream());

Scene myDialogScene = new Scene(VBoxBuilder.create().children(n).alignment(Pos.CENTER).padding(new Insets(0)).build());

myDialog.setScene(myDialogScene);
myDialog.show();
} catch (Exception ex) {
System.out.println(ex);
}
}

这是我处理表格行的 for 循环:

@FXML
private void handle_ImportCowDataButton(ActionEvent event) {
Cows selectedCow;

for(ImportRow row: tblImport.getItems()){
selectedCow = null;

for (Cows cow : olCows) {
if (cow.getOfficial().equals(row.getCownumber())) {
selectedCow = cow;
}
}

if (selectedCow != null) {
if (row.getCalving()) {
//if cow exists and cow has calved, show dialog window loading addcalving.fxml
//then the for loop should wait until that dialog window is closed before continuing
Context.getInstance().setPassthroughObject(selectedCow);
Context.getInstance().showDialog("/GUI/calving/AddCalving.fxml");
}
} else {
//if cow does not exist, show dialog window loading addcow.fxml
//then the for loop should wait until that dialog window is closed before continuing
Context.getInstance().setPassthroughObject(selectedFarmer);
Context.getInstance().showDialog("/GUI/cow/AddCow.fxml");
}
}
}

可以选择在我的 showDialog() 方法中使用 setOnCloseRequest() 吗?

最佳答案

如果将奶牛列表复制到另一个数据结构(例如队列)中,并在处理时删除每头奶牛,则恢复处理它相对容易,因为只保留需要处理的奶牛。

关于java - 在 for 循环中等待输入的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13432903/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com