그래서 처음에는 스윙을 망 쳤으 며 이상한 문제가 생겼습니다. 그래서 목록마다 "셰이프"를 자주 추가하고, JPanel의 paintComponent 메서드에서 목록을 반복하고 셰이프를 그립니다. 또한 테스트 목적으로 for 루프 외부에 모양을 그립니다.Java Swing이있는 그래픽 버그 - 목록에서 그리면 요소가 점프합니다.
for 루프의 모양이 화면 주위를 무작위로 점프합니다. 이는 모양이이 루프에서 그려지는 경우에만 발생합니다.
난 이미 시도 무엇 :
- 업데이트 그래픽 드라이버를 가능한 스레드를 사용하는 대신 스윙 타이머
- 의 java.util.Timer를 사용하여 통합 된 GPU와 이산 GPU
- /모두
- LinkedList, Vector 및 일반 배열과 같은 ArrayList 이외의 것을 사용합니다.
- 문자 그대로 기본적으로 제외한 모든 것을 제 코드에서 제외했습니다. 이것이 우리가 여기서 남긴 것입니다. 나는 내가 알아 차릴 때까지 더 복잡한 것들을 그렸습니다.
- 타이밍을 변경했습니다 (PERIOD 변수, 밀리 초 단위). 내가 그것을 늘리거나 줄일 경우 악화 될 것입니다.
- 시스템 시간 (밀리 초 단위)에서 시스템 시간 (나노초 단위)으로 변경되어 밀리 초 단위로 변환됩니다. 나는 이것이 같은 것이어야한다는 것을 알고 있지만 나는 아이디어가 부족했다. image
당신은 작은 사각형 무작위 간격으로 주위를 이동합니다 것을 알 수 있습니다 : 여기
은 (15초 긴) 문제의 GIF입니다. 이것은 발생하지 않아야합니다. 나는 무작위 좌표에 사각형을 "산란"시키려고합니다. 인 JPanel 클래스, 기본 클래스 (확장 JFrame의), 및 모양 클래스
있는 경우 :이 순서대로 3 개 클래스를 포함했다 code
: 여기
은 페이스트 빈에있는 코드입니다 링크가 작동하지 않으면 알리고 즉시 다른 링크를 게시 할 것입니다.감사합니다.
코드 링크가 없습니다. 우리는 자원 봉사자이며, 질문에 대한 대답을 가능한 한 쉽게 만들어야한다는 것을 기억하십시오. –
디버깅 도움말을 찾는 질문 ("이 코드가 작동하지 않는 이유는 무엇입니까?")에는 원하는 동작을 포함해야하며 * 질문 자체에 * 재현하는 데 필요한 * 가장 짧은 코드 *가 있어야합니다. [mcve]를 작성하고 게시하여 작고 편집 가능한 실행 가능한 프로그램으로 게임을 진행할 수 있도록하고 코드를 직접 테스트하고 잘 작동하도록 수정하십시오.** 전체 프로그램을보고 싶지는 않으며 ** 코드 저장소에 대한 링크를 게시해야합니다. 대신 작게 유지하고 단순하게 유지하여 작동하게하십시오. –
별도의 페이지에서 많은 코드를 작성하는 것이 더 쉬울 것이라고 생각했습니다. 나는 또한 문제가 어디에 있는지 확실하지 않았다. 앞으로도 기억할 것입니다. @HovercraftFullOfEels – Nahr