Java:有没有办法在原始方法终止时调用方法?

时间:2014-07-19 15:35:21

标签: java methods swt terminate

这是我的问题:我需要调用方法终止(否则我的UI不会自行更新),而被调用的方法仍然有效。 Atm就是这样的:



    public InGameGUI() {
        ...
        switchToRoboControl();
    }

并且切换ToRoboControl应该在UI上执行解决方案。我想过使用自定义Listener-thingee但是1.我不知道如何正确地做到这一点2.我想知道是否有更好的方法。线程也不是真正的方法,因为我需要以这种方式调用几种方法......

2 个答案:

答案 0 :(得分:0)

我会使用Threads,这正是应该使用它们的用例。

  

线程也不是真正的方法,因为有几个   我需要以这种方式调用的方法......

是什么阻止你开始和管理更多Threads并可能将某些任务分组在一起?

此外,如果您对许多线程过敏,您可以定义一个心跳事件(一个单独的线程,它定期处于活动状态(如每秒启动一个实例)),它总是会检查并运行要运行的任务。可以在主线程中安排任务。

答案 1 :(得分:-1)

您可以查看Spring提供的AOP framework。您可以进行各种调用,例如在连接点之前或之后执行某些建议。

您只希望在方法终止时执行方法或过程。 Spring AOP提供的远不止这些。您可以在执行之前,方法返回之后,方法抛出异常之后或在所有三个点上运行方法。

您可以编写自己的implements AfterReturningAdvice类并覆盖afterReturning()方法。在Spring配置文件中,为您的Class创建一个具有public InGameGUI()方法的代理bean。在这个bean中,您需要提供对实际类对象的引用以及引用实现AfterReturningAdvice作为拦截器名称的类的bean。