2014-07-19 75 views
0

這是我的問題:我需要調用方法終止(否則我的UI不會自己更新),而被調用的方法仍然工作。 Atm它是這樣的:Java:有沒有辦法在原始方法終止時調用方法?



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

和開關ToRoboControl應該在UI上執行解決方案。我想過使用定製的Listener-thingee,但是我不知道如何正確地做到這一點,2.我想知道是否有更好的方法。線程也不是真正的路要走,因爲有幾種方法需要我這樣調用...

+1

看看你的其他問題 – Mirco

+0

在Java(和SWT)中同步「前端」和「後端」的可能重複(http://stackoverflow.com/questions/24840762/synchronizing-frontend-and-backend-in -java-and-swt) – Mirco

回答

0

我會用Threads,這正是它們應該使用的用例。

線程也沒有真正去,因爲有幾個 方法,我需要調用這樣的方式......

什麼阻止你啓動和管理更加Threads,可能分組一些任務在一起?另外,如果你對許多線程過敏,你可以定義一個心跳事件(一個單獨的線程,它是定期激活的(比如每秒啓動一個實例)),它總是檢查並運行要運行的任務,你可以在主線程中安排任務。

+0

儘管我的線程過敏幫助,使用線程,謝謝!這是一種痛苦,但現在它起作用了。 :-) – Saftkeks

-1

你可以看看由Spring提供的AOP framework。您可以進行各種調用,例如在連接點之前或之後執行一些建議。

您只希望在方法終止時執行方法或過程。 Spring AOP提供的不僅僅是這些。您可以在執行之前,方法返回之後,方法拋出異常之後或所有三點運行方法。

您可以編寫自己的類,implements AfterReturningAdvice並覆蓋afterReturning()方法。在你的spring配置文件中爲你的類創建一個代理bean,該類有public InGameGUI()方法。在這個bean中,您需要提供對實際類對象的引用,以及引用實現AfterReturningAdvice作爲攔截器名稱的類的bean。

+1

這不是一個真正的答案,更多的評論。 – Mirco

+0

OP已經要求在某種方法終止時調用方法,這正是我所提到的。我不明白這個答案如何成爲評論。 –

+1

這將用戶指向信息來源,而不是幫助他解決具體問題。至少給一個例子或一些探索如何這將幫助他 –

相關問題