谢谢各位,经过本人DEMO的模仿写出代码如下,
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.util.*;
class Meter extends Thread {
TextField Meter_txt;
int Meter_minVal;
Meter(TextField txt,int minVal;) {
Meter_txt=txt;
Meter_minVal=minVal;
}
public void run() {
while(true) {
Meter_txt.setText(""+(int)(Meter_minVal+Math.random()*101));
try{
sleep(500);
}
catch(InterruptedException e) {}
}
}
}
public class Testing extends Applet implements ActionListener{
int status=0;
Panel p1=new Panel();
Panel p2=new Panel();
Panel p3=new Panel();
Label lbl1=new Label("100-200");
Label lbl2=new Label("200-300");
Label lbl3=new Label("500-600");
Label lbl4=new Label("模拟仪表盘");
TextField txt1=new TextField();
TextField txt2=new TextField();
TextField txt3=new TextField();
Button cmd=new Button("开关");
Meter[] Mete = new Meter[3];
public void init(){
Mete[0]=new Meter(txt1,100);
Mete[1]=new Meter(txt2,200);
Mete[2]=new Meter(txt3,500);
setLayout(new GridLayout(4,3));
add(p1);
add(lbl4);
add(p3);
add(txt1);
add(txt2);
add(txt3);
add(lbl1);
add(lbl2);
add(lbl3);
add(p2);
add(cmd);
cmd.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==cmd)
switch(status){
case 0:
for(int i=0;i<3;i++){
Mete[i].start();
status=1;
break;
case 1:
for(int i=0;i<3;i++)Mete[i].suspend();
status=2;
break;
case 2:
for(int i=0;i<3;i++)Mete[i].resume();
Meter_txt.setText("");
status=1;
break;
}
}
}