概述
多线程实现的计数的秒表控制程序。
package GUIThread;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JTextField;
/**
* 将显示数值的任务放在一个单独的线程中。
* */
public class Count extends JApplet {
private class SeparateSubTask extends Thread{
private int count = 0;
private boolean runFlag = true;
SeparateSubTask(){
start();
}
void invertFlag(){
runFlag = ! runFlag;
}
public void run(){
while(true){
try{
sleep(100);
}
catch(InterruptedException e){
System.err.println("Interrupted");
}
if(runFlag)
t.setText(Integer.toString(count++));
}
}
}
private SeparateSubTask sp = null;
private JTextField t = new JTextField(10);
private JButton start = new JButton("开 始");
private JButton onOff = new JButton("暂 停");
class StartL implements ActionListener{
@Override
public void actionPerformed(ActionEvent e){
if(sp == null){
sp = new SeparateSubTask();
}
}
}
class OnOffL implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
if(sp != null){
sp.invertFlag();
}
}
}
public void init(){
Container cp = getContentPane();
cp.setLayout(new FlowLayout());
cp.add(t);
start.addActionListener(new StartL());
cp.add(start);
onOff.addActionListener(new OnOffL());
cp.add(onOff);
}
}
程序运行界面:
最后
以上就是沉默星月为你收集整理的多线程的GUI—Java的全部内容,希望文章能够帮你解决多线程的GUI—Java所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复