import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.util.Vector;
public class test3 extends JFrame
{
public test3() throws InterruptedException
{ JPanel panel2=new JPanel();
this.add(panel2);
Vector<String>tableHeadName =new Vector<String>();
tableHeadName.add("ID");
tableHeadName.add("年龄");
tableHeadName.add("姓名");
tableHeadName.add("城市");
Vector<Vector<String>> tableData=new Vector<Vector<String>>();
for(long i=1;i<3;i++)
{
Vector<String>cell=new Vector<String>();
cell.add(""+i);
cell.add("李斌"+i);
cell.add("22");
cell.add("兴城");
tableData.add(cell);
}
DefaultTableModel data=new DefaultTableModel();
JTable t=new JTable(data);
t.setRowHeight(20);
t.setSize(200, 200);
JScrollPane s=new JScrollPane(t);
panel2.add(t);
panel2.add(s);
// this.add(t);
this.setSize(400,400);
this.setVisible(true);
data.setDataVector(tableData, tableHeadName);
Thread.sleep(1000); Vector<String>t1 =new Vector<String>();
tableHeadName.add("ID");
tableHeadName.add("年龄");
tableHeadName.add("姓名");
tableHeadName.add("城市");
Vector<Vector<String>> t2=new Vector<Vector<String>>();
for(int i=1;i<10;i++)
{
Vector<String>cell=new Vector<String>();
cell.add(""+i);
cell.add("李斌"+i);
cell.add("22");
cell.add("兴城");
tableData.add(cell);
}
data.setDataVector(t1, t2);
t.repaint();
t.updateUI();
}
public static void main(String[] args) throws InterruptedException
{ test3 ts= new test3();
}
}解释一下 在Jtable 加载数据 然后显示
然后再加载
这时Jtable 就没了 显示时也不出现了
用repaint() 也不行
请问该怎么改注意!!!!!!!!!!!!!!!!!!!!!!!!!!!!
不要新建Jtable 也不要新建 Jpanel 新建能行 但最后程序有一堆费的对象 太不实际了
最好反复利用
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.util.Vector;
public class test3 extends JFrame
{
public test3() throws InterruptedException
{ JPanel panel2=new JPanel();
this.add(panel2);
Vector<String>tableHeadName =new Vector<String>();
tableHeadName.add("ID");
tableHeadName.add("年龄");
tableHeadName.add("姓名");
tableHeadName.add("城市");
Vector<Vector<String>> tableData=new Vector<Vector<String>>();
for(long i=1;i<3;i++)
{
Vector<String>cell=new Vector<String>();
cell.add(""+i);
cell.add("李斌"+i);
cell.add("22");
cell.add("兴城");
tableData.add(cell);
}
DefaultTableModel data=new DefaultTableModel();
JTable t=new JTable(data);
t.setRowHeight(20);
t.setSize(200, 200);
JScrollPane s=new JScrollPane(t);
panel2.add(t);
panel2.add(s);
// this.add(t);
this.setSize(400,400);
this.setVisible(true);
data.setDataVector(tableData, tableHeadName);
Thread.sleep(1000); Vector<String>t1 =new Vector<String>();
tableHeadName.add("ID");
tableHeadName.add("年龄");
tableHeadName.add("姓名");
tableHeadName.add("城市");
Vector<Vector<String>> t2=new Vector<Vector<String>>();
for(int i=1;i<10;i++)
{
Vector<String>cell=new Vector<String>();
cell.add(""+i);
cell.add("李斌"+i);
cell.add("22");
cell.add("兴城");
tableData.add(cell);
}
data.setDataVector(t1, t2);
t.repaint();
t.updateUI();
}
public static void main(String[] args) throws InterruptedException
{ test3 ts= new test3();
}
}解释一下 在Jtable 加载数据 然后显示
然后再加载
这时Jtable 就没了 显示时也不出现了
用repaint() 也不行
请问该怎么改注意!!!!!!!!!!!!!!!!!!!!!!!!!!!!
不要新建Jtable 也不要新建 Jpanel 新建能行 但最后程序有一堆费的对象 太不实际了
最好反复利用
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货