2013-06-01 2 views
-3

다른 클래스의 메서드를 통해 내 actionPerformed를 반복하려고합니다. 이렇게하면 Timer 클래스를 사용하여 내 개체를 다시 칠하고있는 것처럼 보이게됩니다. 화면을 가로 질러 움직입니다. actionPerformed가 실행 중인지 확인하기 위해 System.out.println 문을 추가했습니다. 텍스트가 표시되고 있지만 개체가 화면을 가로 질러 움직이는 것처럼 보이지 않습니다. 내가 잘못하고있는 것이 확실하지 않습니다. \ 아무도 올바르게 표시되지 않는 경우가 있습니다.타이머 클래스를 사용하여 화면에서 자바 메서드 및 움직이는 객체

// 이건 내 볼 클래스입니다. 배열로 만들었습니다. timer.start은() constructor에

public void actionPerformed (ActionEvent e) 
{ 
    for(int i = 0; i < bl.length; i++) 
    { 
    bl[i].move(); 
    System.out.println("Fired"); 
    repaint(); 
    } 
} 

에 //이 화면에서 개체를 이동 내 이동 클래스, X = 0 = 5로 이동합니다. 당신의 move() 방법에서

public void move() 
{ 
    x = x + move; 
} 
+0

Java 또는 Javascript를 사용하고 있습니까? – yzernik

+1

자바와 비슷합니다. – tay10r

+0

자바와 비슷합니다. 귀하의 질문에 분명히 더 많은 설명/소스 코드가 필요합니다. 당신이 움직이려고하는 것은 무엇입니까? – Mifeet

답변

1

, 당신은 정의되지 않고 통과되지도 x하지만 movemove라는 변수를 추가하려고합니다. 이 시도 :

bl[i].move(5,0); 

public int move(int move,int x) 
{ 
x += move; 
return x; 
} 

편집 : x 정의 또는 중 전달되지 말하기, 어느. 코드를 편집했습니다.

관련 문제