hom*_*rrr -1 java multithreading
下面的代码应该产生一个带有时间的常规帧,当时间达到90分钟时它应该显示一条消息.不知怎的,线程不会启动,消息Thread is working properly永远不会显示.我已经阅读了以下 Oracle文章但找不到任何解决方案.
public class Core extends JFrame implements Runnable{
private int second;
private int minute;
private JLabel presentor;
private Thread threadObject = new Thread();
public Core(){
second = 1;
minute = 0;
presentor = new JLabel();
writeLabel();
add(presentor , BorderLayout.CENTER);
threadObject.start();
}
public void run(){
JOptionPane.showMessageDialog(null, "Thread is working properly");
try{Thread.sleep(60000);}
catch(InterruptedException e){e.printStackTrace();}
updateTime();
writeLabel();
if(minute > 89){
JOptionPane.showMessageDialog(null, "90 minutes have passed away , take a break!");
this.getParent().setFocusable(true);
}
}
public void writeLabel(){
presentor.setText(minute + ":" + second);
}
public void updateTime(){
second++;
if(second < 60)
return;
second = 0;
minute++;
}
Run Code Online (Sandbox Code Playgroud)
}
还有一个类具有Main基本框架设置的方法,没有什么重要的.
你没有Runnable为你指定一个参数Thread(我认为应该是this你的Core类实现的参数Runnable):
private Thread threadObject = new Thread(this);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |