자바로 시계 만들어 프레임띄워서 타이틀바에 시계를 쓰레드 적용시켜 올리고 싶은데..
잘 안되네요. 고수님들 도와주세요..
import java.awt.*;
import javax.swing.*;
import java.util.*;
import java.text.*;
class Timer_Frame extends JFrame {
private Dimension Screen;
private Dimension Frame_Screen;
private int xpos;
private int ypos;
private Container ctn;
private String time;
private TimeThread thread = new TimeThread();
private SimpleDateFormat dataformat = new SimpleDateFormat(hh:mm:ss);
public Timer_Frame() {
init();
event_start();
thread.start();
this.setSize( 300, 200 );
Screen = Toolkit.getDefaultToolkit().getScreenSize();
Frame_Screen = this.getSize();
xpos = (int)(Screen.getWidth()/2 - Frame_Screen.getWidth()/2);
ypos = (int)(Screen.getHeight()/2 - Frame_Screen.getHeight()/2);
this.setLocation( xpos, ypos );
this.setVisible( true );
//System.out.println(time);
}
class TimeThread extends Thread {
public void run() {
try {
while( true ) {
Thread.sleep(1000);
time = dataformat.format(new Date());
String tim = String.valueOf(time);
System.out.println(tim);
//getTimer( tim );
//System.out.println(time);
}
}catch( InterruptedException ee ) {
ee.printStackTrace();
}
}
}
public void getTimer( String times ) {
this.time = times;
}
public void init() {
ctn = this.getContentPane();
}
public void event_start() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
class Timer_Main {
public static void main( String args[] ) {
Timer_Frame f = new Timer_Frame();
}
}
이퓨리한은지 2026.09.29
네.. 답변 감사합니다.. ㅠㅠ
누림 2026.09.29
time = datadormat.format(...)아랫줄에
SwingUtilities.invokeLater( new Runnable() {
Timer_Frame.this.setTitle(time);
});
뭐 이런식으로 적어 줘야 하는데.. ( 위에 코드는 정확하게 동작하지는 않습니다. )
죄송합니다만 이거 공부하기 전에 먼저 java라는놈 부터 공부를 하셔야 할것 같습니다.
지금 코드가 엉망입니다. 기본조차 안 지켜져 있어서.. ( 클래스명,