望高手赐教!!!!!!!!!!!!!!!!
实现:程序启动时,即启动线程ThreadUpdata.
目的:使table数据不断更新线程的类
public class ThreadUpdate extends Thread
{
FrmMain mainFrm = null; public ThreadUpdate(FrmMain mainFrm)
{
this.mainFrm = mainFrm;
} public void run()
{
while (true)
{
try
{
mainFrm.refreshTable();
//刷新主窗体中table数据 实现方法见下
sleep(1000);
}
catch (InterruptedException e)
{}
}
}
}
主窗体的类
public class FrmMain extends JFrame
{ .
.
.
public void refreshTable()
{
this.tableModel.setRowCount(0);
this.tableModel.fireTableDataChanged();
String sql = new String();
sql = "select t.Name from Test t";
Vector queryData = new Vector();
Vector rowData = new Vector();
queryData = DBAccess.getInstance().executeQuerySQL();
//注本方法为执行Sql以Vector形式返回数据
for (int i=0; i<queryData.size(),i++)
{
rowData = (Vector)queryData.elementAt(i);
tableModel.addRow(rowData);
}
}
table.setModel(tableModel);}
实现:程序启动时,即启动线程ThreadUpdata.
目的:使table数据不断更新线程的类
public class ThreadUpdate extends Thread
{
FrmMain mainFrm = null; public ThreadUpdate(FrmMain mainFrm)
{
this.mainFrm = mainFrm;
} public void run()
{
while (true)
{
try
{
mainFrm.refreshTable();
//刷新主窗体中table数据 实现方法见下
sleep(1000);
}
catch (InterruptedException e)
{}
}
}
}
主窗体的类
public class FrmMain extends JFrame
{ .
.
.
public void refreshTable()
{
this.tableModel.setRowCount(0);
this.tableModel.fireTableDataChanged();
String sql = new String();
sql = "select t.Name from Test t";
Vector queryData = new Vector();
Vector rowData = new Vector();
queryData = DBAccess.getInstance().executeQuerySQL();
//注本方法为执行Sql以Vector形式返回数据
for (int i=0; i<queryData.size(),i++)
{
rowData = (Vector)queryData.elementAt(i);
tableModel.addRow(rowData);
}
}
table.setModel(tableModel);}
特此更正
public static void main(String[] args)
{
FrmMain mainFrm = new FrmMain();
mainFrm.setVisible(true);
ThreadUpdate thread = new ThreadUpdate(mainFrm);
thread.start();
}
也就是说,程序启动时线程(thread已经启动)
/////////////////////////////////////////
//
//应该合情合理。楼上大哥的话我不是很明白
//请详细赐教
//我觉得问题不再这里
//
////////////////////////////////////////