Java学习笔记——A simple Thread with Swing

前言:最近实在无聊,前段时间有人问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环境的直接拷贝代码后保存成类同名文件,编译下就可以运行了。注意拷贝过去后源代码函数后的省略号一定要祛除,不然程序是不能编译通过的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值