1“但是我想在用程序向数据库中添加数据后,jtable中的数据立刻更新不知道应该如何做”
用mvc设计模式,添加数据后通知jtable更新。2“如果处理行选中啊,并把选中的行数据提取出来。”
为jtable加个单击侦听器,取得行号,和记录id,
动态生成一个form修改
你用的什么ide啊???
jbuilder自己带很好的组件
还有 jclass,我没有搞到盗版的
用mvc设计模式,添加数据后通知jtable更新。2“如果处理行选中啊,并把选中的行数据提取出来。”
为jtable加个单击侦听器,取得行号,和记录id,
动态生成一个form修改
你用的什么ide啊???
jbuilder自己带很好的组件
还有 jclass,我没有搞到盗版的
需要自己手动更新的(可以调用相应的函数),好像是entity provider和entity resolver.
其实你上网找资料和在这里问不如自己差jb的帮助,有例子的。
public void refreshTableView(Vector data){
rows=data;
TableModel dataModel = new AbstractTableModel() {
public int getColumnCount() {
return names.length;
}
public int getRowCount() { return rows.size();}
public Object getValueAt(int row, int col) {
Vector row1 = (Vector)rows.elementAt(row);
return row1.elementAt(col);
}
public String getColumnName(int column) {
return names[column];
}
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
public boolean isCellEditable(int row, int col) {
return false;
//这里可以自已动手写
}
public void setValueAt(Object aValue, int row, int column) {
Vector dataRow = (Vector)rows.elementAt(row);
dataRow.setElementAt(aValue, column);
}
};
tableView.setModel(dataModel);
}
names为数据表列名:
data就不用多说了吧;rows
public void refreshTableView(Vector data){
rows=data;
TableModel dataModel = new AbstractTableModel() {
public int getColumnCount() {
return names.length;
}
而且系统提示:javax.swing.table.AbstractTableModel is abstract cannot be instantiate
你的代码没有写完整
new AbstractTableModel() {
public int getColumnCount() {
return names.length;
}
public int getRowCount() { return rows.size();}
public Object getValueAt(int row, int col) {
Vector row1 = (Vector)rows.elementAt(row);
return row1.elementAt(col);
}
public String getColumnName(int column) {
return names[column];
}
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
public boolean isCellEditable(int row, int col) {
return false;
//这里可以自已动手写
}
public void setValueAt(Object aValue, int row, int column) {
Vector dataRow = (Vector)rows.elementAt(row);
dataRow.setElementAt(aValue, column);
}
};
fireTableDataChanged
我一般是生成新的Model对象放到JTABLE里。所以总能更新。