浏览 6280 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-04-14
源程序如下: 这是analy按钮的事件响应函数: score和newword均为JTable。 analy.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { String shopname=shoptoanalyze.getText(); String sql="SELECT * FROM customerreviews WHERE shopname='"+shopname+"'"; ArrayList<CustomerReview> cr=mysqloperator.getCustomerReviews(sql); Analyzer analyzer=Analyzer.getInstance(); analyzer.beginAnalyze(cr); score.setModel(new MyTableModel(analyzer.getresultcolumnnames().toArray(), analyzer.getResultdata())); newword.setModel(new MyTableModel(analyzer.getNewwordsdatacolumnnames().toArray(), analyzer.getNewwordsdata())); ((MyTableModel)score.getModel()).fireTableStructureChanged(); ((MyTableModel)score.getModel()).fireTableDataChanged(); ((MyTableModel)newword.getModel()).fireTableStructureChanged(); ((MyTableModel)newword.getModel()).fireTableDataChanged(); } }); 以下是MyTableModel的代码: public class MyTableModel extends AbstractTableModel{ private Object[] columnNames; private Object[][] data; public MyTableModel(Object[] c, Object[][] d) { columnNames=c; data=d; } public int getColumnCount() { return columnNames.length; } public int getRowCount() { return data.length; } public String getColumnName(int col) { if(col>=0&&col<columnNames.length) return (String)columnNames[col]; else return ""; } public Object getValueAt(int row, int col) { if(row>=0&&row<data.length) { if(data.length>0&&col>=0&&col<data[0].length) return data[row][col]; else return ""; } return ""; } public void setColumnName(Object[] c) { columnNames=c; } public void setData(Object[][] d) { data=d; } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-04-15
这个要用DefaultTableModel 才能换,而且要repaint下才能显示
|
|
返回顶楼 | |
发表时间:2007-04-15
当你更新Model中的数据后,效果是可以立即显示在view中..不知道LZ的意思是想刷新数据还是怎么样?
|
|
返回顶楼 | |
发表时间:2007-04-16
((MyTableModel)score.getModel()).fireTableStructureChanged();
((MyTableModel)score.getModel()).fireTableDataChanged(); ((MyTableModel)newword.getModel()).fireTableStructureChanged(); ((MyTableModel)newword.getModel()).fireTableDataChanged(); ............................ 看这个就晕,不需要 modle数据更新后界面就更新了的 |
|
返回顶楼 | |
发表时间:2007-04-16
哎,下个星期开始,也要去做Swing的开发了,头痛~~~~
|
|
返回顶楼 | |