Java學習筆記——A simple Thread with Swing

來源:互聯網
上載者:User

前言:最近實在無聊,前段時間有人問JTable是否有排序的Method,我以為這樣基本的功能應該有,但是最近幾天的探索告訴我,答案是:沒有。當然不排除有的可能性,呵呵。還在慢慢研究中,自己其實是什麼都不懂呀~啊哈哈 。實在是無聊死了,對Swing又沒有什麼好寫的東西出來,最近地圖編輯器也擱置很久了,原因有很多,開學了也是其中之一。時間不是我一個人的呀……

     回想起以前看過的Thread,就隨手弄個出來添點東西也好。真的是最簡單的東西了,也真不好意思這樣濫竽充數呀,呵呵。這個可以算是最簡單的Swing的線程程式了,就是做一個JLabel,然後寫新的資料進去,內容就是說開啟程式經過的秒數:

// ThreadPrint.java
// Console program to print charactors
import java.awt.*;
import javax.swing.*;

public class ThreadPrint extends JFrame implements Runnable...{
    int number = 0;
    Thread runner;
    /** *//**
     * Method run
     *
     *
     */
    public void run() ...{
        while(true) ...{
            JLabel label = 
                new JLabel("程式開始到現在經過的時間為:" + number++ +"秒。");
            try ...{
                Thread.sleep(1000);
            }
            catch(InterruptedException ie) ...{
            }
            this.getContentPane().removeAll();
            this.getContentPane().add(label, BorderLayout.CENTER);
            this.pack();
        }
    }
    public ThreadPrint() ...{
        super("Print Number per second.");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        runner = new Thread(this);
        runner.start();
    }
    public static void main(String[] args) ...{
        ThreadPrint tp = new ThreadPrint();
        tp.setVisible(true);
    }
}

     哎,實在是慘不忍睹啊!

    要實現Thread,必須要實現Runnable這個介面。實現run()函數後,調用一個start()就可以讓程式跑起來了。關鍵的地方還是在run()內部用了一個無限迴圈,然後最後pack()了一下,不然,程式可是不會自動重新整理介面的,那也就看不到時間的經過咯~runner = new Thread(this);這句也就是把當前對象加到線程中去。應該很簡單的程式吧,不懂的人注意下run()和start()的關聯就可以了,呵呵。

     有JDK環境的直接拷貝代碼後儲存成類同名檔案,編譯下就可以運行了。注意拷貝過去後原始碼函數後的省略符號一定要祛除,不然程式是不能編譯通過的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.