当前位置: 代码迷 >> J2SE >> 40分,关于JTable 在JPanel中的有关问题
  详细解决方案

40分,关于JTable 在JPanel中的有关问题

热度:429   发布时间:2016-04-24 15:07:32.0
40分,关于JTable 在JPanel中的问题
在JPanel上,一开始有一个JTable   叫   firsttable吧,当点加入到数据库数据后,这个firsttable怎么才能自动刷新一下?
还有,点一个按钮后,让firsttable消失,出现secondtable   怎么做?
请各位大虾指教.谢谢

------解决方案--------------------
在JPanel上,一开始有一个JTable 叫 firsttable吧,当点加入到数据库数据后,这个firsttable怎么才能自动刷新一下?
还有,点一个按钮后,让firsttable消失,出现secondtable 怎么做?
请各位大虾指教.谢谢

JPanel panel = new JPanel(new BorderLayout());
JTable firsttable;
JScrollPane scrollPane;
DefaultTableModel dataModel;
Vector titleVector;
Vector dataVector;
dataModel = new DefaultTableModel(dataVector,titleVector)
{
public boolean isCellEditable(int rowIndex,int columnIndex)
{
return false;
}
};
scrollPane = new JScrollPane(firsttable);
JTable secondtable ;
JScrollPane scrollPane2;
scrollPane2= new JScrollPane(secondtable );
panel.add(scrollPane ,BorderLayout.CENTER);
panel.add(scrollPane2 ,BorderLayout.CENTER);
scrollPane2 .setVisible(false);
当想让第二个可见的时候把scrollPane .setVisible(false);
scrollPane2 .setVisible(true);

想刷新数据用scrollPane.setViewportView(table);



------解决方案--------------------
JComponent.updateUI()?
第二个的话设置table的visible属性,然后刷新试试
------解决方案--------------------
楼主可以尝试单独写一个upDateTable()
{
table.removeall();
//定义一个数组,数组的长度就是你的表的字段个数
String [] arr = new String(5);

while(rs.next)
{
arr(0) = rs.getString(1);
.
.
.
//然后把该数组添加进表头
dtm.add(arr);
}
}
------解决方案--------------------
刷新的时候还要检索一边数据库的 不如自己从新加载一边model的数据 从新加载的model会刷新table
  相关解决方案