我已经用了:
addNotify();
jTable.revalidate();
jTable.repaint();
jTable.updateUI();
可是不能刷新。
我的是 jtable是:
class TableModel extends AbstractTableModel
addNotify();
jTable.revalidate();
jTable.repaint();
jTable.updateUI();
可是不能刷新。
我的是 jtable是:
class TableModel extends AbstractTableModel
解决方案 »
- 急!!各位大牛帮忙看一个问题:java.net.UnknownHostException: www.xxx.com
- 求助java读取excel文件,再写到数据库中遇到了问题!
- 如何给jFrame窗体和JInternal窗体加背景图片
- 请问子线程如何控制窗体的控件?
- 求教JList的问题
- Java那么多条语言指令,各位是怎么掌握的啊?
- 怎么做一个类似系统菜单的applet,有什么好方法?
- 阿里巴巴的笔试题,请大神给我解释下n的值。
- 一个奇怪的错误,请各位大侠帮帮忙,谢谢!!!
- 我应该学什么?
- <100分>新手挑战Hodex的那篇<<篮球中的exception>> 新手都来啊! Hodex大哥也进来!!
- [求助]继续向大家请教(初学者提问)
按钮监听器执行actionPerformed方法,该方法中调用JTable所在类的方法,这个方法中,调用tableModel的fireTableStructureChanged()方法就可以了。
当然,必须先定义tableModel。如下:
ArrayList cards=new ArrayList();
cards=getCardFromDatabase(); //从数据库获取数据
myModel=new AbstractTableModel(){
public int getColumnCount(){
return card_title.length;
}
public int getRowCount(){
if(cards==null||cards.size()==0)
return 0;
return cards.size();
}
public Object getValueAt(int row,int column){
if(cards==null||cards.size()==0)
return "";
return ((ArrayList)cards.get(row)).get(column);
}
public String getColumnName(int column){
return card_title[column];
}
public Class getColumnClass(int col){
return getValueAt(0,col).getClass();
}
public boolean isCellEditable(int row,int column){
return false;
}
};
JTable cardTable=new JTable(cardModel);
JScrollPane spane=new JScrollPane(cardTable);
panel.add(spane,BorderLayout.CENTER);//在主程序中,有个方法,调用这个方法就可以刷新了
public void listCards(){
cards=getNewCardData();
myModel.fireTableStructureChanged();
}