我有以下代码:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Try extends JFrame implements ActionListener{
JButton n1 = new JButton("1");
JButton n2 = new JButton("2");
JButton n3 = new JButton("3");
JButton show = new JButton("Show");
{
show.addActionListener(this);
n1.setEnabled(false);
n2.setEnabled(false);
n3.setEnabled(false);
}
public Try(){
super("Try");
setVisible(true);
setSize(500, 200);
setLayout(new GridLayout(1, 4));
add(n1);
add(n2);
add(n3);
add(show);
}
public void actionPerformed(ActionEvent a) {
Object clicked = a.getSource();
if(show == clicked){
new Trial().start();
}
}
class Trial extends Thread{
public void run(){
try {
n1.setEnabled(true);
Thread.sleep(1000);
n1.setEnabled(false);
n2.setEnabled(true);
Thread.sleep(1000);
n2.setEnabled(false);
n3.setEnabled(true);
Thread.sleep(1000);
n3.setEnabled(false);
} catch (InterruptedException e){
}
}
}
public static void main(String[] args){
Try frame = new Try();
frame.setVisible(true);
}
}
我对某些部分有一些疑问:
1.---> new Trial().start();
2.---> class Trial extends Thread
3.---> public void run()
- 他为什么要更新它而不是试用?还是第 1 行是“制作”线程的代码?是在线程中启动一个方法来创建它们吗?
- 为什么要扩展线程?为什么不能简单地进行课堂试验?还有为什么不公开呢?
- 为什么是公开的?我知道 run 会运行线程,但为什么要公开?
提前致谢