자바 paint() 질문입니다~
매디
안녕하세요 요새 자바 공부하고 잇는 학생입니다. ㅋ.ㅋ;;
가입한지는 꽤 됫는데 글은 한 3번째 남기는 것 같아요.ㅋ
본론으로, 질문이 무엇이냐면요
하려는 작업은 DB에서 어떤 좌표값을 받아와서 어떤 맵에 수시로 변하는 좌표값을 찍어내려고 합니다.
그런데 배경위에 좌표를 찍긴 하는데 변하는 값을 계속해서 찍지는 않아서요;;
좌표를 찍는 클래스 부분은
********************************************************************************************************
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Point2D;
import java.awt.Image;
import java.awt.Panel;
public class ImagePanel extends Panel{
int x;
int y;
Image image; // 메인 클래스에서 이미지를 받아와서 그립니당
public ImagePanel(Image image) {
this.image = image;
}
public void paint(Graphics g){
g.drawImage(image, 0, 0, null);
g.fillRoundRect(x, y, 10,10, 10,10);
super.paint(g);
}
public void swing(int x, int y){ // 메인에서 x,y값을 계속 받아옵니다
// 메인에서는 swing(x,y) 이런식으로값을 가져올때마다 이쪽클래스로 값을 찍어주고요~
this.x = x;
this.y = y;
repaint();
}
}
************************************************************************************
제가 너무 간단하게 한건지;;
이렇게 하면 마지막 변한 값만 찍히더라구요.
메인에서 디비에서 읽어오면서 변하는 좌표값을 스윙으로 호출하면서 계속 리페인트 해주니까
변하는 좌표값이 계속해서 찍혀야하는거 아닌가요?
화면에 점이 남아있을려면 이중버퍼링같은걸 해야한다는데 아직; 제대로 점을 찍지도 못해서요..;;;
혹시 조언해주실 분 계시면 감사합니다. ㅡㅜ; 좀 자세하게 부탁드릴께요~!
-
돌심장
그 방법이 좋겠는데요.
-
풋내
글쎄요..
저라면 DB에서 받아온 값들을 벡터에 넣고 repaint() 호출할 때마다 벡터값을 불러와서 그리겠지만..
다른 분들은 어떻게 하실지..ㅎ