4
EDT가 아닌 다른 스레드에서 JFrame의 dispose() 메서드를 호출하는 것이 안전합니까?Java의 다른 스레드에서 JFrame을 삭제하는 것이 안전합니까?
EDT가 아닌 다른 스레드에서 JFrame의 dispose() 메서드를 호출하는 것이 안전합니까?Java의 다른 스레드에서 JFrame을 삭제하는 것이 안전합니까?
아니요. 작동하지 않거나 문제가 발생할 수 있습니다. 그냥 SwingUtilities.invokeLater (...) 메서드를 래핑하고 그것에 대해 걱정하지 마십시오.
아니요, 스윙은 스레드로부터 안전하지 않습니다.
Runnable doWorkRunnable = new Runnable() {
public void run() { myFrame.dispose(); }
};
SwingUtilities.invokeLater(doWorkRunnable);
그래도 새로운 실행 파일에서 단일 메서드 호출을 래핑하는 것은 상당히 번거로운 것 같지 않습니까? –
번거롭거나 그렇지 않은 경우 다른 스레드에서 gui 작업을 수행해야하는 경우 수행해야하는 작업입니다. – nos
메서드를 호출하는 것이 수행되는 유일한 방법은 아닌 것 같습니다. 아마도 스레드가 아닌 방식으로 실행되는 다른 코드가있을 것입니다. (어쨌든, 실제 h4x0rz는'java.beans.EventHandler'를 사용할 것입니다.) –