?? multithreaddemo1.java
字號:
//Example 1 of Chapter 8
import java.awt.*;
import javax.swing.*;
public class MultiThreadDemo1 extends JFrame
{
private ScrollPane scrollPane;
private JTextArea area;
public MultiThreadDemo1()
{
super( "多線程輸出演示" );
getContentPane().setLayout( new BorderLayout() );
scrollPane = new ScrollPane();
area = new JTextArea();
area.setEditable( false );
scrollPane.add( area );
getContentPane().add( scrollPane, BorderLayout.CENTER );
OutputThread no1 = new OutputThread( "Number1" );
OutputThread no2 = new OutputThread( "Number2" );
OutputThread no3 = new OutputThread( "Number3" );
area.append( "主程序啟動\n" );
no1.start();
no2.start();
no3.start();
area.append( "主程序結束\n" );
setSize( 300, 240 );
setVisible( true );
}
public static void main(String[] args)
{
MultiThreadDemo1 demo = new MultiThreadDemo1();
demo.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
private class OutputThread extends Thread
{
private int sleepTime;
public OutputThread( String name )
{
super( name );
}
public void run()
{
try {
sleepTime = ( int ) ( Math.random() * 2000 );
area.append( getName() + ":即將休眠" + sleepTime + "毫秒\n" );
Thread.sleep( sleepTime );
sleepTime = ( int ) ( Math.random() * 2000 );
area.append( getName() + ":即將再次休眠" + sleepTime + "毫秒\n" );
Thread.sleep( sleepTime );
}
catch ( InterruptedException exception )
{
exception.printStackTrace();
}
area.append( getName() + ":結束運行\n" );
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -