欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實(shí)現(xiàn)的動態(tài)數(shù)字時鐘功能示例【顯示世界時間】

 更新時間:2019年03月13日 11:48:13   作者:水中魚之1999  
這篇文章主要介紹了Java實(shí)現(xiàn)的動態(tài)數(shù)字時鐘功能,結(jié)合實(shí)例形式分析了java顯示北京、紐約、倫敦等世界時間的相關(guān)日期時間運(yùn)算操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Java實(shí)現(xiàn)的動態(tài)數(shù)字時鐘功能。分享給大家供大家參考,具體如下:

構(gòu)建:

1. Clock繼承 JFrame 為運(yùn)行頁面
2. ClockText 測試類 創(chuàng)建 Clock 對象

運(yùn)行效果:

具體實(shí)現(xiàn):

一、Clock類 

  • 四個JPnal 三個放時間 最后一個放日期
  • 放時間的三個JPnal 分別加入 地點(diǎn) 時間 按鈕
  • 最后一個按鈕添加日期

具體實(shí)現(xiàn)如下:

public class Clock extends JFrame {
    private JPanel jPanelBeijing;
    private JPanel jPanelNewYork;
    private JPanel jPanelLondom;
    private JPanel jPanelDate;
    private boolean BeijingThreadFlag_IsStart = true;
    private boolean NewYorkThreadFlag_IsStart = true;
    private boolean LondonThreadFlag_IsStart = true;
    public Clock() {
        // TODO Auto-generated constructor stub
        jPanelBeijing = new JPanel();
        jPanelNewYork = new JPanel();
        jPanelLondom = new JPanel();
        jPanelDate = new JPanel();
        iniRelations();
        iniLayout();
        jFrameClick();
        setVisible(true);
        setSize(480, 225);
        setLocationRelativeTo(null);
    }
    private void iniLayout() {
        jPanelBeijing.setLayout(new GridLayout(3, 1));
        jPanelNewYork.setLayout(new GridLayout(3, 1));
        jPanelLondom.setLayout(new GridLayout(3, 1));
    }
    // 關(guān)系
    private void iniRelations() {
        this.add(BorderLayout.WEST, jPanelBeijing);
        this.add(BorderLayout.CENTER, jPanelNewYork);
        this.add(BorderLayout.EAST, jPanelLondom);
        this.add(BorderLayout.SOUTH, jPanelDate);
        Font placeFont = new Font("楷體", Font.BOLD, 36);
        JLabel jLabelBeijing = new JLabel("北京時間");
        jLabelBeijing.setFont(placeFont);
        jPanelBeijing.add(jLabelBeijing);
        setWestPanel();
        JLabel jLabelNewYork = new JLabel("紐約時間");
        jLabelNewYork.setFont(placeFont);
        jPanelNewYork.add(jLabelNewYork);
        setCenterPanel();
        JLabel jLabelLondon = new JLabel("倫敦時間");
        jLabelLondon.setFont(placeFont);
        jPanelLondom.add(jLabelLondon);
        setEastPanel();
        setDatePanel();
    }
    private void setWestPanel() {
        // add time for SouthPanel
        JLabel jLabelTime = new JLabel("加載中.");
        jLabelTime.setFont(new Font("宋體", Font.BOLD, 30));
        Timer timeAction = new Timer(1000, new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                long timemillis = System.currentTimeMillis();
                // 轉(zhuǎn)換日期顯示格式
                SimpleDateFormat time = new SimpleDateFormat("HH:mm:ss ");
                jLabelTime.setText(time.format(new Date(timemillis)));
            }
        });
        timeAction.start();
        jPanelBeijing.add(jLabelTime);
        Button button = new Button("北京暫停");
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                if (BeijingThreadFlag_IsStart) {
                    timeAction.stop();
                    button.setLabel("北京繼續(xù)");
                    BeijingThreadFlag_IsStart = false;
                } else {
                    timeAction.start();
                    button.setLabel("北京暫停");
                    BeijingThreadFlag_IsStart = true ;
                }
            }
        });
        jPanelBeijing.add(button);
    }
    private void setCenterPanel() {
        // add time for SouthPanel
        JLabel jLabelTime = new JLabel("加載中.");
        jLabelTime.setFont(new Font("宋體", Font.BOLD, 30));
        Timer timeAction = new Timer(1000, new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                long timemillis = System.currentTimeMillis();
                // 轉(zhuǎn)換日期顯示格式
                SimpleDateFormat time = new SimpleDateFormat("HH:mm:ss ");
                jLabelTime.setText(time.format(new Date(timemillis - 13 * 60 * 60 * 1000)));
            }
        });
        timeAction.start();
        jPanelNewYork.add(jLabelTime);
        Button button = new Button("紐約暫停");
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                if (NewYorkThreadFlag_IsStart) {
                    timeAction.stop();
                    button.setLabel("紐約繼續(xù)");
                    NewYorkThreadFlag_IsStart = false;
                } else {
                    timeAction.start();
                    button.setLabel("紐約暫停");
                    NewYorkThreadFlag_IsStart = true ;
                }
            }
        });
        jPanelNewYork.add(button);
    }
    private void setEastPanel() {
        // add time for SouthPanel
        // JLabel jLabelDate = new JLabel("Date");
        JLabel jLabelTime = new JLabel("加載中.");
        jLabelTime.setFont(new Font("宋體", Font.BOLD, 30));
        Timer timeAction = new Timer(1000, new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                long timemillis = System.currentTimeMillis();
                // SimpleDateFormat date = new SimpleDateFormat("yyyy 年 MM 月 dd
                // 日 ");
                // jLabelDate.setText(" 當(dāng)前日期: " + date.format(new
                // Date(timemillis)));
                SimpleDateFormat time = new SimpleDateFormat("HH:mm:ss ");
                jLabelTime.setText(time.format(new Time(timemillis - 8 * 60 * 60 * 1000)));
            }
        });
        timeAction.start();
        jPanelLondom.add(jLabelTime);
        Button button = new Button("倫敦暫停");
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                if (LondonThreadFlag_IsStart) {
                    timeAction.stop();
                    button.setLabel("倫敦繼續(xù)");
                    LondonThreadFlag_IsStart = false;
                } else {
                    timeAction.start();
                    button.setLabel("倫敦暫停");
                    LondonThreadFlag_IsStart = true ;
                }
            }
        });
        jPanelLondom.add(button);
        // jPanelLondom.add(jLabelDate);
    }
    private void setDatePanel() {
        // add time for SouthPanel
        JLabel jLabelDate = new JLabel("加載中.");
        Timer timeAction = new Timer(1000, new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                long timemillis = System.currentTimeMillis();
                 SimpleDateFormat date = new SimpleDateFormat("yyyy 年 MM 月 dd 日 ");
                 jLabelDate.setText(" 當(dāng)前日期: " + date.format(new Date(timemillis)));
             }
        });
        timeAction.start();
        jPanelDate.add(jLabelDate);
    }
    private void jFrameClick(){
        setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//設(shè)置不默認(rèn)關(guān)閉
        addWindowListener(new WindowListener() {
            @Override
            public void windowOpened(WindowEvent e) {
                // TODO Auto-generated method stub
            }
            @Override
            public void windowIconified(WindowEvent e) {
                // TODO Auto-generated method stub
            }
            @Override
            public void windowDeiconified(WindowEvent e) {
                // TODO Auto-generated method stub
            }
            @Override
            public void windowDeactivated(WindowEvent e) {
                // TODO Auto-generated method stub
            }
            @Override
            public void windowClosing(WindowEvent e) {
                // TODO Auto-generated method stub
                int x = JOptionPane.showConfirmDialog(null, "確認(rèn)退出么?", "友情提示", JOptionPane.OK_CANCEL_OPTION,
                        JOptionPane.WARNING_MESSAGE);
                if (x == 0) {
                    System.exit(0);
                }
            }
            @Override
            public void windowClosed(WindowEvent e) {
                // TODO Auto-generated method stub
            }
            @Override
            public void windowActivated(WindowEvent e) {
                // TODO Auto-generated method stub
            }
        });
    }
}

二、創(chuàng)建ClockText類用于測試

public class ClockText{
    public static void main(String[] args) {
        new Clock();
    }
}

PS:這里再為大家推薦幾款時間及日期相關(guān)工具供大家參考使用:

在線世界各地時間查詢:
http://tools.jb51.net/zhuanhuanqi/worldtime

Unix時間戳(timestamp)轉(zhuǎn)換工具:
http://tools.jb51.net/code/unixtime

在線日期/天數(shù)計算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi

更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《java日期與時間操作技巧匯總》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計有所幫助。

相關(guān)文章

最新評論