import java.awt.BorderLayout;
import java.awt.HeadlessException;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.border.BevelBorder;
import javax.swing.border.Border;
public class RunnableDemo extends JFrame implements Runnable {
public RunnableDemo() throws HeadlessException {
super();
setBounds(100,100,383,225);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JLabel label = new JLabel("多线程简介:");
getContentPane().add(label, BorderLayout.NORTH);
textArea = new JTextArea("\t");//初始化文本框内容
textArea.setBorder(new BevelBorder(BevelBorder.LOWERED));
textArea.setLineWrap(true);//设置自动换行
getContentPane().add(textArea,BorderLayout.CENTER);
}
private JTextArea textArea;
private String strs = "java语言使用多线程实现一个程序中的多个任务同时运行,可以执行多个线程,每个线程完成一个功能" +
"执行run()方法,run方法执行完了就不执行了";
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
RunnableDemo frame = new RunnableDemo();
frame.setVisible(true);
Thread thread = new Thread(frame);
thread.start();
}
@Override
public void run() {
// TODO Auto-generated method stub
String[] arrayStrs = strs.split("");
for(String ch:arrayStrs) {
textArea.append(ch);
try {
Thread.sleep(100);
} catch(Exception e) {
e.printStackTrace();
}
}
}
}
java 之 多线程Runnable 示例
最新推荐文章于 2021-10-20 18:36:07 发布