用主类合并线程-JUnit4测试

本文介绍了一个简单的Java Applet应用示例——计数器。该程序通过启动线程实现自动递增计数,并利用按钮控制计数的开始与暂停。文章提供了完整的源代码,演示了如何使用Java AWT库创建GUI组件并处理事件。

 

package com.qilu.test;

import java.awt.*;
import java.awt.event.*;
import java.applet.*;

import org.junit.Test;

public class Counter3 extends Applet implements Runnable {
private int count = 0;
private boolean runFlag = true;
private Thread selfThread = null;
private Button onOff = new Button("Toggle"), start = new Button("Start");
private TextField t = new TextField(10);

public void init() {
add(t);
start.addActionListener(new StartL());
add(start);
onOff.addActionListener(new OnOffL());
add(onOff);
}
@Test
public void run() {
while (true) {
try {
selfThread.sleep(100);
} catch (InterruptedException e) {
}
if (runFlag)
t.setText(Integer.toString(count++));
}
}

class StartL implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (selfThread == null) {
selfThread = new Thread(Counter3.this);
selfThread.start();
}
}
}

class OnOffL implements ActionListener {
public void actionPerformed(ActionEvent e) {
runFlag = !runFlag;
}
}

public static void main(String[] args) {
Counter3 applet = new Counter3();
Frame aFrame = new Frame("Counter3");
aFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
aFrame.add(applet, BorderLayout.CENTER);
aFrame.setSize(300, 200);
applet.init();
applet.start();
aFrame.setVisible(true);
}

代码编写时间:30%

测试时间:      70%

转载于:https://www.cnblogs.com/zq582819981/p/4789669.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值