【发布时间】:2019-09-23 20:19:56
【问题描述】:
我不确定我是否在标题中问对了,但这就是问题所在。 我有一个类可以异步执行操作,并且还必须在 Swing UI 线程上运行。像这样
SwingUtilities.invokeLater(() -> {
myobj.dosomething(()->{
SwingUtilities.invokeLater(() -> {
myobj.dosomething(()->{
//here it needs to repeat this again and again.
//for an indefinte number of times. So it is hedious to reapat this code
//for few times and impossible to make it dynamic based on user input.
//it was even worse without lambda sytax.
});
});
});
});
编辑:我可能根本不应该提到摇摆。因为这不是问题,它只会增加它。主要问题是我需要调用myobj.dosomething(()->{ 太多次。并且每次它应该在上一次调用完成后开始。
【问题讨论】:
-
你应该使用 javax.swing.Timer
-
我不明白 Timer 是如何解决这个问题的。请阅读代码中的注释。我需要调用
myobj.dosomething,比如说 10 次。每个调用都应该在前一个调用完成之后发生。
标签: java swing design-patterns callback