Thread.sleep(milliseconds)
을 사용하면 지정된 밀리 초 동안 전체 프로그램 실행이 지연됩니다. 내 문제는 어떻게 내 컨테이너에서 자바 코드 (캔버스 컨텍스트에서 JOGL을 사용하여 구현 됨)의 다른 컨테이너로 개체 이동을 지연시키지 않고 (지연시키지 않고) 동작이 눈에 띄게 빨라지는지입니다.java JOGL에서 객체 이동이 느려짐
다음은 문제에 대한 나의 접근 방법입니다.
각 컨테이너의 개체 양을 나타 내기 위해 Stack
을 사용합니다. 사용자가 컨테이너 [소스] 중 하나를 클릭 할 때마다 컨테이너 Stack
은 비워 질 때까지 팝됩니다. 동시에 대상 컨테이너의 Stack
을 푸시해야합니다. 각 반복마다 컨테이너는 해당하는 Stack
크기로 표시된 객체를 포함하여 다시 그립니다.
이 질문에 대한 관련 코드의 부분 : 나는 단지 하나의 목적지 하나에 소스에서 개체를 이동하는 데 성공하지만, 한
public void moveObjects(Container source, Container destination) {
while (!source.stack.isEmpty()) {
destination.stack.push(destination.stack.size() + 1);
source.stack.pop();
//redraw both containers with their new amount of objects represnted using their stack size
}
}
또는
이 가 가public void moveObject(int source, int dest) {
while (!this.container[source].stack.isEmpty()) {
this.container[dest].stack.push(this.container[dest].stack.size() + 1);
this.container[source].stack.pop();
try {
Thread.sleep(100);
} catch (InterruptedException ie) {
// Handle exception here
}
}
}
가 가 는 움직임이 너무 눈으로 빨리 알아 차릴 수있다. 이 문제를 어떻게 해결할 수 있습니까?
당신이 무엇을 요구하고 있는지 명확하지 않습니다. 문제를 자세히 설명해 주시겠습니까? 코드를 사용하는 것이 바람직합니다. – Dawnkeeper
좋아, 내가 가지고 실제 코드를 작성하자 –