티스토리 뷰

반응형

⊙ 문제

 

현재 시각에서 시, 분, 초 값을 가지는 디지털시계를 나타내는 프로그램을 작성하시오.

 

현재 시각은 Calendar.getInstance()로 구할 수 있으며, Calendar 객체에서 get() 메서드를 이용해 시, 분, 초 정보를 가져올 수 있다.

 

⊙ 문제 접근 과정

 

get() 함수를 이용해 시, 분, 초를 가져오자!


 

⊙ 문제 풀이

 

import javax.swing.*;
import java.util.Calendar;

public class Main extends JFrame {
    public Main() {
        setTitle("디지털 시계");
        add(new MyLabel());
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(300, 100);
        setVisible(true);
    }
    class MyLabel extends JLabel implements Runnable {
        public MyLabel() {
            setText(getClockText());
            setHorizontalAlignment(JLabel.CENTER);
            new Thread(MyLabel.this).start();
        }
        public String getClockText() {
            Calendar c = Calendar.getInstance();
            int h = c.get(Calendar.HOUR_OF_DAY);
            int m = c.get(Calendar.MINUTE);
            int s = c.get(Calendar.SECOND);
            String str = new String(h + ":" + m + ":" + s);
            return str;
        }
        public void run() {
            while (true) {
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                }
                setText(getClockText());
            }
        }
    }
    public static void main(String[] args) {
        new Main();
    }
}

⊙ 결과

 

 


⊙ 마무리

 

 

NONE

 

좋아요 로그인하지 않아도 누를 수 있습니다!

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함