我正在使用MVC模型,我在控制器中初始化视图的所有动作侦听器。例如:
观点:
public void addStartDateListener(ChangeListener<Boolean>e){
startDate.focusedProperty().addListener(e);
}
public void addFinishDateListener(ChangeListener<Boolean>e){
finishDate.focusedProperty().addListener(e);
}
控制器:
this.theView.addStartDateListener(new startDateFocusListener());
this.theView.addFinishDateListener(new finishDateFocusListener());
class finishDateFocusListener implements ChangeListener<Boolean> {
@Override
public void changed(ObservableValue<? extends Boolean> arg0, Boolean oldPropertyValue, Boolean newPropertyValue)
{
if (newPropertyValue)
{
System.out.println("Finish date");
}
else
{
System.out.println("Finish date");
}
}
}
//focus listener to update the date whenever the focus is lost
class startDateFocusListener implements ChangeListener<Boolean> {
@Override
public void changed(ObservableValue<? extends Boolean> arg0, Boolean oldPropertyValue, Boolean newPropertyValue)
{
if (newPropertyValue)
{
System.out.println("start date");
}
else
{
System.out.println("start date");
}
}
当阶段(即视图)出现时,我需要应用程序等待它关闭并且不允许用户在其他阶段执行任何其他操作。但是,如果我使用“showAndWait()”和“initModality(Modality.APPLICATION_MODAL);”动作侦听器不会添加到视图中,但如果我只使用“initModality(Modality.APPLICATION_MODAL);”它不允许用户在其他阶段执行任何操作,除了一个和所有动作监听器都完全正常工作,但我仍然需要等到阶段关闭然后继续进一步继续,其余阶段取决于输出正在创造的舞台。所以我的问题是我该怎么做?
我到目前为止尝试使用“setOnSucced”等任务。但是没有运气。我对MVC概念也很陌生。