预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共37页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

目标: 1、线程概念 2、Thread 3、Runnable 4、线程的生命周期 5、线程同步 内容: 1、线程概念:线程,有时被称为轻量级进程(LightweightProcess,LWP),是程序执行流的最小单元。 一般一个程序是由许多的线程组成。例如:一个程序中的动态时钟 示例:在窗口中制作一个动态时钟 packagecom.javaoo; importjava.awt.*; importjava.awt.event.*; importjavax.swing.*; importjavax.swing.table.*; importjava.io.*; importjava.text.SimpleDateFormat; importjava.util.Date; importjava.util.Vector; publicclassTestTableAdvancedextendsJFrame{ privateObject[]columnNames={"学号","姓名","年龄","性别"}; privateObject[][]rowData={ {"s001","张三",23,"男"}, {"s002","李四",22,"男"}, {"s003","王麻子",21,"男"} }; privateDefaultTableModeltableModel=newDefaultTableModel(rowData,columnNames); privateJTabletable=newJTable(tableModel); privateJButtonjbtSave=newJButton("Save"); privateJButtonjbtClear=newJButton("Clear"); privateJButtonjbtRestore=newJButton("Restore"); privateJButtonjbtAddRow=newJButton("AddNewRow"); privateJButtonjbtAddColumn=newJButton("AddNewColumn"); privateJButtonjbtDeleteRow=newJButton("DeleteSelectedRow"); privateJButtonjbtDeleteColumn=newJButton("DeleteSelectedColumn"); privateJLabeltimeLabel=newJLabel(); publicTestTableAdvanced(){ super("JTable高级应用示例"); setSize(400,300); setDefaultCloseOperation(EXIT_ON_CLOSE); setResizable(false); setLocation(); init(); addListener(); setVisible(true); } publicvoidinit(){ JScrollPanescroll=newJScrollPane(table); getContentPane().add(scroll); JPanelp1=newJPanel();//存放Save,Clear,Restore按钮 p1.add(jbtSave); p1.add(jbtClear); p1.add(jbtRestore); JPanelp2=newJPanel();//存放操作Table的功能按钮 p2.setLayout(newGridLayout(2,2)); p2.add(jbtAddRow); p2.add(jbtAddColumn); p2.add(jbtDeleteRow); p2.add(jbtDeleteColumn); JPanelp3=newJPanel();//窗口底部的大面板 p3.setLayout(newGridLayout(2,1)); p3.add(p1); p3.add(p2); getContentPane().add(p3,BorderLayout.SOUTH); JPanelp4=newJPanel(); p4.setLayout(newBorderLayout()); p4.add(timeLabel,BorderLayout.EAST); getContentPane().add(p4,BorderLayout.NORTH); TimeRunningrunning=newTimeRunning(); running.start(); } publicvoidsetLocation(){ Dimensiond=this.getSize