다음은 문제의 원인이라고 생각되는 코드 조각입니다.JOptionPane.showMessageDialog가 InputStream를 읽은 후에 표시되지 않습니다. [Java]
while((is.read(bytes)) != -1)
{
fos.write(bytes);
}
JOptionPane.showMessageDialog(null,"File Received.","Complete.",JOptionPane.INFORMATION_MESSAGE);
//System.out.println("File Received.");
이제 JOptionPane 문에 컨트롤이 나타나면 아무 것도 나타나지 않고 프로그램이 종료되지 않습니다. 수동으로 작업 관리자에서 끝내야했습니다. JOptionPane 문을 주석 처리하고 콘솔 메소드 즉 System.out.println()을 사용하여 메시지가 제대로 표시되고 프로그램이 정상적으로 종료되었습니다. 왜이 JOptionPane이이 문제를 일으키는 지 이해할 수 없습니다. 나는 여기 붙어있다. 도움을 주시면 감사하겠습니다. 기대해 줘서 고마워.
[이벤트 처리 쓰레드 (http://stackoverflow.com/a/12643642/714968), 더 오라클 튜토리얼 - Concurency 스윙에 – mKorbel