Posted on 2007-06-15 13:42
停留的风 阅读(4999)
评论(0) 编辑 收藏
table 的属性设置
private JTable getPreTable() {
if (preTable == null) {
preTable = new JTable();
Object[][] tabledata={};
DefaultTableModel model=new DefaultTableModel(tabledata,colName){
public boolean isCellEditable(int row, int column)
{
return false;
};
};
preTable = new JTable(model);
preTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
preTable.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e) {
if(e.getClickCount()==2){//点击几次,这里是双击事件
tableChanged();
}
}
});
}
return preTable;
}
双击单行的事件:
public void tableChanged()
{
int row=preTable.getSelectedRow();
String preId=preTable.getValueAt(row,0).toString(); //得到所在行的第一个列的值,作为下面事件传递的参数
MedBean mb=new MedBean();//数据操作类中调用
String id=mb.getMedId(preId);
TableModel tm=getMedTable().getModel();//另一个表
DefaultTableModel dtm=(DefaultTableModel)tm;
ArrayList<Medicine>list=mb.SelPreMed(id);
int rowcount=dtm.getRowCount();
for(int i=rowcount-1;i>=0;i--){//删除以前数据表中的数据
dtm.removeRow(i);
}
for(Medicine m:list){
Object[] object={m.getMedicineId(),m.getMedicineName(),m.getQuantity(),m.getUnit(),m.getSideEffect()};
dtm.addRow(object);
}
}