2014-04-28 2 views
0

제목이 실제로 내 문제를 명확하게하는지 모르겠습니다. 나는 카드 게임 응용 프로그램을 만들고 있습니다. 사용자와 컴퓨터가 모두 카드를 사용하지 않으면 컴퓨터가 다음 카드를 사용할 때까지 화면에 계속 있어야합니다. try catch에서 thread.sleep()을 사용하여이 문제를 해결하려고했습니다. 기본적으로해야 할 일을하고 있지만 원하는 일이 아닙니다. 지연은 한 카드를 재생하는 컴퓨터와 두 번째 카드를 재생하는 사이가 아닙니다. 사용자가 버튼 (카드의 경우)과이 카드의 모양을 화면에 표시하는 사이입니다. 에 StackOverflow에자바 : 특정 위치에서 시간 지연 - 잘못된 장소에서 작동

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {           
    jLabel1.setIcon(//new Icon of the card); 
    jPanel1.remove(jButton1); 
    jLabel2.setIcon(//new Icon of the card); 
    if(//proving whether the computer played the highest amount off) 
    { 
     disableButtons(); 

      sleep();//waiting for a certain time... 
      playCard();//...until playing the next card off 
    } 
}           




     public void sleep() 
{ 

     try 
     { 
      Thread.sleep(500); 
     } catch (InterruptedException e) 
     { 
     } 
} 
+0

도움을 위해 코드를 게시하십시오 – niiraj874u

+0

약간의 코드없이 도움을 줄 수 있다고 생각하지 않습니다. 또한, 어떤 종류의 사용자 인터페이스를 사용하고 있는지 알고 있습니까? 콘솔? 그네? – wonderb0lt

+0

실제 코드가 없으면 문제를 해결하기가 어렵습니다. 어쩌면 코드 스 니펫을 추가 할 수 있습니까? – user3575404

답변

0

에 오신 것을 환영합니다 :

여기에 관련 코드입니다. UI 스레드에서 잠을 자면 UI가 다시 기본 루프를 입력 할 때까지 모든 그리기 명령을 반영하지 않습니다. swing timers을 살펴보십시오.

관련 문제