그래서 기본적으로 타이머를 시작하기 위해 jpanel에서 키 바인딩을 사용합니다. 키 바인드를 다시 사용하는 방법을 알아 내려고했지만 타이머가 계속 증가하는 동안 카운트를 늘리는 중입니다.동시에 타이머와 키 바인딩
m2.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke
(KeyEvent.VK_LEFT,0,true),"left");
m2.getActionMap().put("left",new Actions());
public void Timer(boolean startTimer){
if(startTimer==true){
long staTime = System.currentTimeMillis();
while(startTimer==true){
System.out.println(System.currentTimeMillis()/1000.0-staTime/1000.0);
}
}
}
public class Actions extends AbstractAction {
private static final long serialVersionUID = 1L;
int start = 0;
int count = 0;
public void actionPerformed(ActionEvent e) {
Begin b = new Begin();
if(start==0){
start++;
b.Timer(true);
}
count++;
System.out.println(count);
if(count==10){
b.Timer(false);
}
}
당신은 타이머를 시작하는 순간을 실현 할, 당신은 이벤트 파견 스레드를 차단하고 프로그램이 내가하려고 메신저 알고 완전한 재고 ... – MadProgrammer
아에 와서 원인이 있습니다 : 다음은 간단한 예입니다 디스패치 스레드를 차단하지 않고 타이머를 유지하는 방법 알아보기 – NickPali