我有以下代碼:螺紋聲明
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行是「製作」線程的代碼?是在線程中啓動一個方法來創建它們?
- 它爲什麼擴展線程?爲什麼不能僅僅是階級審判?而且爲什麼它不公開?
- 爲什麼它是公開的?我知道運行線程,但爲什麼公共?
在此先感謝
這是誰的代碼?如果你想從中學習,不要。由於它是從後臺線程對Swing組件狀態進行更改,因此編寫得不好,這會導致不可預知的崩潰。 – 2013-03-25 01:51:34
先看一下[here](http://docs.oracle.com/javase/tutorial/essential/concurrency/runthread.html),然後轉到src。 – Jayamohan 2013-03-25 01:56:36
我製作了gui代碼,但我複製了線程代碼,我想學習它。 – 2013-03-25 01:58:02