tab.setOnCloseRequest(e -> {
e.consume();
if (currentEditor.isModified()){
switch (DialogBox.newSaveConfirmationBox(tab.getText())){
case "Yes": tabPane.fireEvent(???);
}
}
}
我想对选项卡式文本编辑器进行确认,其中有操作"是" "无"取消&#34 ;.当"是"是否有办法触发关闭标签事件?被选中了?感谢
tab.setOnCloseRequest(e -> {
if (currentEditor.isModified()){
switch (DialogBox.newSaveConfirmationBox(tab.getText())){
case "Yes":
saveFile();
case "Cancel":
e.consume();
}
}
}
);
可悲的是,当currentEditor.isModified()
为false
时,标签无法关闭,有任何建议吗?感谢
答案 0 :(得分:3)
消费该事件否决结束。因此,如果用户决定不想关闭选项卡,则只应使用该事件。否则,让事件传播,选项卡将关闭:
tab.setOnCloseRequest(e -> {
// remove the next line: you only want to consume the event for "No"
// e.consume();
if (currentEditor.isModified()){
if ("No".equals(DialogBox.newSaveConfirmationBox(tab.getText()))) {
e.consume();
}
}
});