[JAVA]질문.. 글자가 자꾸 겹쳐지는데요...?
새나
가입하고 드뎌 처음 글을 쓰는데.. 질문부터 쓰네요;;
아무튼 모두 반갑습니당 :D
제가 더블 버퍼링 연습 겸 시계 만들기 로 디지털 시계를잠깐만들어 봤거든요?
그런데 글자가 겹처서 뜨는데 어떻게 된거죠?..
보시기 좋게 색깔도 집어 넣었으니 꼭 답해주세요 :D
검색해보라는 답변은 하지 말아주세요;; 검색해서 글 제목 마다 다 눌러봤는데요..
여기 정회원이 아니라서 눌르는거 마다 정회원만 보라고해여 (OTL.. x 100)
빨리 글 올려서 정회원 되야겠어요ㅎ
내일은 신민아 아날로그 시계 만든거 하나 올려 볼께요 :D ㅋㅋㅋ
import java.awt.*;
import java.util.*;
import java.text.*;
import java.applet.Applet;
public class DigitalClock extends Applet implements Runnable{
Image image;
Graphics gs;
Thread thr;
public void start(){
image =createImage(300,300);
gs = image.getGraphics();
thr =new Thread(this);
thr.start();
}
public void stop(){
try{
thr.join(100);
thr = null;
}catch(Exception e){}
}
public void run(){
while(true){
try{
thr.sleep(1000);
dubbleBuffer();
}catch(Exception e){}
repaint();
}
}
public void dubbleBuffer(){
drawTime(gs);
}
public void update(Graphics g){paint(g);} //오버라이딩
public void paint(Graphics g){
g.drawImage(image,0,0,this);
}
public void drawTime(Graphics g){ //시계 그리는 함수
Calendar cal = Calendar .getInstance();
Date date = cal.getTime();
DateFormat dFormat = DateFormat.getDateTimeInstance();
g.drawString(dFormat.format(date),50,50);
}
}
-
단화한
고마워요~ :D
-
민트맛사탕
drawTime에서 시간을 그리기 전에
기존에 그렸던 부분을 클리어하는 부분이 필요합니다.
보통 바탕색(흰색이던 검은색이던)으로 덮어씌우는데,
위 코드를 보니 배경으로 이미지를 그려주고 있군요. 아마 시계?
그렇다면 다시 시계를 그려주고, 그 위에 시간을 표시하면 될 듯하네요.