JScrollPane에 캔버스를 추가하지만 캔버스가 JScrollPane의 보이는 영역보다 큰 게임을 만들려고합니다. 그래서 JScrollPane을 스크롤하여 나머지를 보았을 때 캔버스가 계속 그려지더라도 빈 영역 만 볼 수 있습니다. 아무도 나를 도울 수 있습니까 ??JScrollPane은 스크롤 할 때 Canvas를 다시 그리지 않습니까?
1
A
답변
2
Swing 구성 요소는 Canvas와 같은 중량이 큰 AWT 구성 요소에서는 작동하지 않습니다. JComponent에 나 대신 캔버스
+0
Canvas 및 JScrollPane을 사용할 방법이 없습니까? –
0
의 인 JPanel를 사용하여 당신이 좋아하는 경량 인 JPanel 2 헤비급 개체를 사용할 필요가 : AWT 또는 SWT (OLE 포함), 또는 혼합 수 있습니다
JPanel foreground = new JPanel();
Panel frame = new Panel();
Cavas canvas = new Cavas();
foreground.add(frame);
frame.add(canvas);
헤비급 개체를 그것은 중요하지 않습니다.
그때가 JScrollPane를 얻을 수와 같은 메소드를 호출있는 AdjustmentListener 추가 : 그것은 일반적인 JScrollPane의 문제가private void updateLocation() {
final JScrollPane scroll = getScrollPane();
if (null == scroll) {
// do nothing
return;
}
final Point top = getLocation();
final Rectangle visible = getVisibleRect();
// set up new location
frame.setSize(visible.width, visible.height);
frame.setLocation(visible.x - top.x, visible.y - top.y);
canvas.setSize(getWidth(), getHeight());
canvas.setLocation(top.x - visible.x, top.y - visible.y);
}
8
합니다. fix this with minimum fuss하려면 JScrollPane의에서 다음과 같은 방법을 호출
scrollpane.getViewport().setScrollMode(JViewport.SIMPLE_SCROLL_MODE);
+0
언급 해 주셔서 감사합니다. –
관련 문제
- 1. setNeedsDisplay : 활성화하지 않으면 True가 다시 그리지 않습니까?
- 2. java - 왜 graphics.drawString()을 다시 그리지 않습니까?
- 3. WinAPI - 다시 그리지 마십시오.
- 4. 타일을 그리지 않습니까?
- 5. NSString을 그리지 않습니까?
- 6. 스크롤 할 때 UITableView가 잘리지 않습니까?
- 7. 하위 위젯이 변경되면 Smart-Gwt 창에서 스크롤 막대를 다시 그리지 않습니까?
- 8. 스크롤 할 때 페이지 테두리 다시 그리기
- 9. 스크롤 할 때 패널 다시 그리기
- 10. 내 조회수가 왜 그리지 않습니까?
- 11. 플렉스에서 수동으로 스크롤 할 때 다시 그리기 문제
- 12. 왜 이것이 경로를 그리지 않습니까?
- 13. 왜 애니메이션 커브를 그리지 않습니까?
- 14. 왜이 코드는 포물선을 그리지 않습니까?
- 15. Canvas를 삭제할 때 ImageData 해제
- 16. OnPaint()에서 그리지 않을 때 이중 버퍼링 : 왜 작동하지 않습니까?
- 17. 맞춤형 UITableViewCell은 setNeedsDisplay에서 다시 그리지 않습니다.
- 18. 페이지가 스크롤 할 때 모달 스크롤
- 19. XNA C# 내 문자열이 왜 그리지 않습니까?
- 20. jquery에서 아래로 스크롤 할 때 스크롤 할 때 뭔가를 수행하십시오.
- 21. Android - 왜 내 축을 그리지 않습니까?
- 22. 왜 자바 스크립트가 이미지를 캔버스에 그리지 않습니까?
- 23. PyQt에서 사용자 지정/소유자 컨트롤을 그리지 않습니까?
- 24. 스크롤 할 때 뒤처짐
- 25. jqModal 창의 jScrollPane은 처음으로 작동합니다.
- 26. 테이블 뷰를 다시 스크롤 할 때 셀이 공백으로 표시됩니까?
- 27. 스크롤 할 때 NSCollectionView를 다시 그리면 그래픽이 깨집니다.
- 28. 아래로 스크롤 할 때 요소에서 슬라이드를 다시 만들려고합니다.
- 29. UICollection보기에서 그래디언트 단추를 다시 그리지 않음
- 30. 부모 창을 다시 그리지 않고 강제로 다시 그릴 수 있습니까?
당신은 확실히 (네이티브 메소드의 페인트 호출을 위임하는 경우, 예를 들어), 다음 대신 JScrollPane의의의 ScrollPane을 사용하여 캔버스를 사용해야하는 경우. – Mischa