javaSpace에서 가져 오는 클라이언트 창이 생성됩니다. 사용중인 코드입니다.jFrame 초기화 문제
/**
* Create the frame.
*/
public Client()
{
space = SpaceUtils.getSpace();
if (space == null)
{
System.err.println("Failed to find the javaspace");
System.exit(1);
}
initFrame();
setVisible(true);
processPrintJobs();
}
이 창은 initFrame() 내부에서 생성됩니다. processPrintJobs는 새 메시지가 있는지 확인합니다. processPrintJobs() 메서드 호출을 주석 처리하면 윈도우가 올바르게 그려 지지만 메서드 호출이 있으면 윈도우는 빈 사각형 만 표시합니다.
while 루프가 실행되기 전에 창을 생성 할 때 프로세스가 여러 번 검사되어 프로세스가 제대로 수행되지 않아 창의성이 제대로 작성되지 않는 것과 같습니다.
public void processPrintJobs()
{
while (true)
{
try
{
Message template = new Message();
if (channel == null)
{
System.out.println("No channel given");
} else
{
template.Channel = channel;
// System.out.println(channel);
template.position = new Integer(getNumber() + 1);
Message msg = (Message) space.read(template, null,
Long.MAX_VALUE);
messageList.append(msg.execute());
}
} catch (Exception e)
{
e.printStackTrace();
}
}
}
어떻게 구현 될까요? 어떻게 호출됩니까? – user1725794
이것은 전체 클래스의 코드입니다. http://pastebin.com/sPcTC3kp – user1725794
좋아, 확장 내 대답; 기본적으로 위험한 while-loop를 제거합니다. –