그냥 SwingWorker
을 learnd과 질문이
(나는이 만에 대답 검색이 아닌 구체적으로이 설정을 해결)자바 SwingWorker의 통지 이벤트 발송 쓰레드
임은을 만들 최소 2-3 개의 연결 만 가능합니다.
임 SwingWorker의 doInBackground()
에서 내부 클래스 SwingWorker
을 가지고 Jframe
을 사용하여 내가 가지고 :
while(true) {
Socket client_socket = listen_socket.accept();
Connection con = new Connection(client_socket, "name");
Future<Connection> future = es.submit(con , con);
tasks.add(future);
}
Connection
는 runnable
및 SwingWorker
의 하위 클래스로 선언된다.
runnable
이 완료되기 전에 SQL에 항목을 작성하십시오.
어떻게하면이 실행 가능 여부가 종료되기 전에 Jframe
이벤트 발송 스레드로 헤드 업을 보낼 수 있습니다.
및 Jframe
은 SQL에서 새 항목을 확인하여 사용자에게 표시합니다.
할 무엇이 최선인지 :
1 - 모든 실행 가능한이 Jframe
이벤트 디스패치 스레드에 메시지를 보낼 수있는 인터페이스 마녀를 만들 수 있습니다.
2 - SwingWorker
모든 새 연결 runnables
의 insted 사용 Done()
전화 사용하여 서버 Jframe
에서 메소드를 호출 SwingWorker
의 방법 EventQueue.invokeLater..
3가 - 나 (어떻게 든 더 확인) PropertyChangeListener를 사용
4 - 각각의 runnables가 Jframe
을 참조하도록하고 EventQueue.invokeLater..
내 서버 SwingWorker가 서버 종료시 'done()'을 사용하고 있습니다. 'doInBackground()'에서 시작한 모든 'runnables'에 대해서는 'done()'메커니즘이 없습니다. – Erik
저는 SwingWorker 사용에 대해 이미 알고 있다고 생각합니다. 그의 문제는 SwingWorker 사용의 기본을 넘어서 한 단계입니다. –
@ Erik : 그들은 Runnables입니까, 아니면 미래입니까? 후자의 경우, 그들은 FutureTask 또는 이와 유사한 어떤 종류의 완료 메소드를 가지고 있습니다. –