我遇到了以下问题。我有一个交互式Swing应用程序。它基本上在画布上创建了一堆图形对象。您可以从调色板(椭圆形,圆形等)中选择要创建的类型,然后单击画布。一切都按预期工作。现在我想用Abbot / Costello测试框架记录测试。这很简单。启动Costello应用程序,创建新脚本并开始记录事件。假设我要记录此序列:单击调色板并在画布上放置图形。很自然地期望测试应用会记录点击之前画布组件有机会处理它并添加新图形。出于各种原因,我需要在对应用程序进行任何更改之前捕获应用程序的状态,而不是之后。事实证明,我的应用程序在点击事件中获得第一次破解,导致创建新图形,之后我的测试应用程序收到记录事件。在这一点上,对我来说已经太晚了,国家已经无可挽回地改变了,我基本上记录了一个未来的状态而不是之前的状态。
我知道这是听众以不同顺序开火的结果。我也明白,Swing并不保证触发侦听器的顺序。我是否已达到可能的限制或有解决方案?