最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

構建:

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

運行效果:

具體實現(xiàn):

一、Clock類 

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

具體實現(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));
    }
    // 關系
    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();
                // 轉換日期顯示格式
                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();
                // 轉換日期顯示格式
                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(" 當前日期: " + 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(" 當前日期: " + date.format(new Date(timemillis)));
             }
        });
        timeAction.start();
        jPanelDate.add(jLabelDate);
    }
    private void jFrameClick(){
        setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//設置不默認關閉
        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, "確認退出么?", "友情提示", 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:這里再為大家推薦幾款時間及日期相關工具供大家參考使用:

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

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

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

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

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

相關文章

  • Java將json字符串轉換為數(shù)組的幾種方法

    Java將json字符串轉換為數(shù)組的幾種方法

    在Java開發(fā)中,經(jīng)常會遇到將json字符串轉換為數(shù)組的需求,本文主要介紹了Java將json字符串轉換為數(shù)組的幾種方法,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • 使用spring security明文密碼校驗時報錯-BadCredentialsException: Bad credentials的問題

    使用spring security明文密碼校驗時報錯-BadCredentialsException:&nbs

    小編遇到這樣一個問題在學習spring security時使用明文密碼進行登錄校驗時報錯"org.springframework.security.authentication.BadCredentialsException: Bad credentials,今天給大家分享問題原因及解決方案,感興趣的朋友一起看看吧
    2023-10-10
  • 淺談SpringBoot 中關于自定義異常處理的套路

    淺談SpringBoot 中關于自定義異常處理的套路

    這篇文章主要介紹了淺談SpringBoot 中關于自定義異常處理的套路,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • Java超詳細講解三大特性之一的多態(tài)

    Java超詳細講解三大特性之一的多態(tài)

    多態(tài)就是指程序中定義的引用變量所指向的具體類型和通過該引用變量發(fā)出的方法調(diào)用在編程時并不確定,而是在程序運行期間才確定,即一個引用變量到底會指向哪個類的實例對象,該引用變量發(fā)出的方法調(diào)用到底是哪個類中實現(xiàn)的方法,必須在由程序運行期間才能決定
    2022-05-05
  • Java HashMap的工作原理

    Java HashMap的工作原理

    這篇文章主要介紹了Java HashMap的工作原理的相關資料,需要的朋友可以參考下
    2016-03-03
  • SpringCloud災難性雪崩效應處理方法之降級實現(xiàn)流程詳解

    SpringCloud災難性雪崩效應處理方法之降級實現(xiàn)流程詳解

    這篇文章主要介紹了SpringCloud災難性雪崩效應處理方法之降級,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧<BR>
    2022-11-11
  • 解決Maven中關于依賴導入不進的問題

    解決Maven中關于依賴導入不進的問題

    這篇文章主要介紹了解決Maven中關于依賴導入不進的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Java動態(tài)代理(設計模式)代碼詳解

    Java動態(tài)代理(設計模式)代碼詳解

    這篇文章主要介紹了Java動態(tài)代理(設計模式)代碼詳解,具有一定借鑒價值,需要的朋友可以參考下
    2017-12-12
  • java設計模式Ctrl?C和Ctrl?V的原型模式詳解

    java設計模式Ctrl?C和Ctrl?V的原型模式詳解

    這篇文章主要為大家介紹了java設計模式Ctrl?C和Ctrl?V的原型模式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • 關于idea引入spring boot <parent></parent>父依賴標紅問題

    關于idea引入spring boot <parent></parent>父依賴標紅問題

    這篇文章主要介紹了idea引入spring boot <parent></parent>父依賴標紅問題,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10

最新評論

邢台县| 连山| 馆陶县| 登封市| 万年县| 西华县| 玉林市| 六盘水市| 洛浦县| 五华县| 利辛县| 中牟县| 江永县| 广河县| 南阳市| 清河县| 永吉县| 扶余县| 苏州市| 宣汉县| 宁夏| 潼南县| 裕民县| 天长市| 浏阳市| 保亭| 丹凤县| 明星| 五大连池市| 卓尼县| 大冶市| 东阿县| 沂源县| 梧州市| 长岭县| 汉寿县| 庐江县| 东源县| 临武县| 工布江达县| 嵩明县|