2014-07-19 4 views
0

여기 내 문제가 있습니다 : 호출 된 메서드가 작동하는 동안 호출 메서드를 종료해야합니다 (그렇지 않으면 내 UI 자체를 업데이트하지 않습니다). 이 같은 뭔가 ATM :Java : 원래 메서드가 종료되는 동안 메서드를 호출 할 수있는 방법이 있습니까?



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

및 ToRoboControl 스위치는 UI에 대한 해결책을 실행하기로되어있다. 나는 Custom 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는 그 이상을 제공합니다. 메소드가 실행되기 전, 메소드가 리턴 된 후, 메소드가 예외를 던지거나 3 가지 포인트 모두에서 메소드를 실행할 수 있습니다.

implements AfterReturningAdvice 클래스를 작성하고 afterReturning() 메서드를 재정의 할 수 있습니다. Spring 구성 파일에서 클래스의 프록시 bean을 만들고 public InGameGUI() 메소드를 사용하십시오. 이 빈에서 실제 클래스 객체에 대한 참조를 제공하고 AfterReturningAdvice을 인터셉터 이름으로 구현하는 클래스를 참조하는 bean을 제공해야한다.

+1

이것은 실제 답변이 아니며, 더 많은 코멘트입니다. – Mirco

+0

OP는 내가 말한 것과 정확히 일치하는 일부 메소드 종료시 메소드를 호출 할 방법을 요청했습니다. 나는 이것이 답보다 더 많은 논평으로서 어떻게 자격이되는지를 보지 못한다. –

+1

이렇게하면 사용자가 자신의 특정 문제를 해결하는 데 도움이되기보다는 사용자를 정보원으로 안내합니다. 적어도 이것이 그가 어떻게 도움이 될지에 대한 예나 약간의 묘사를해라. –