jtable上的复选框无法选中!!!急求解决办法!!!我用的是abstracttablemodel格式滴~~~
贴下我的部分代码:vect=newVector();//实例化向量model=newAbstractTableModel(){publicClassgetColumnCl...
贴下我的部分代码:
vect=new Vector();//实例化向量
model= new AbstractTableModel(){
public Class getColumnClass(int c){
return getValueAt(0,c).getClass();}
//取得列所属对象类
public int getColumnCount(){return title.length;}//取得表格列数
public int getRowCount(){return vect.size();}
public Object getValueAt(int row,int column){
return((Vector)vect.get(row)).get(column);
}//取得单元格中的属性值
public String getColumnName(int column){
return title[column]; }//设置表格列名
public void setValueAt(Object value,int row,int column){}
//数据模型不可编辑,该方法设置为空
public boolean isCellEditable(int row,int column){
Boolean ye=false;
return true;
}
};
//这是new一个tablemodel
while(goods.next())
{
Vector vec=new Vector();
//getString()的参数可以是列的名称,也可以是列的序号,从1开始
vec.addElement(goods.getString("goods_id"));
vec.addElement(goods.getString("goods_name"));
vec.addElement(goods.getString("goods_spec"));
vec.addElement(goods.getString("goods_weight"));
vec.addElement(goods.getString("goods_num"));
vec.addElement(goods.getString("u_id"));
vec.addElement(goods.getString("storage_id"));
vec.addElement(goods.getString("location"));
vec.addElement(goods.getString("condition"));
vec.addElement(new Boolean(false));
vect.addElement(vec);
}
//这是添加了Boolean列
但是最后虽然出现了复选框,但没有办法选中?
问题出在哪里?
拜托大家了~~~~
这是无法选中时的界面 。。。。。。。。。。。。。。我貌似米有定模型不可修改啊~
况且把上面BOOLEAN去掉一样是无法选中的~~~~汗 展开
vect=new Vector();//实例化向量
model= new AbstractTableModel(){
public Class getColumnClass(int c){
return getValueAt(0,c).getClass();}
//取得列所属对象类
public int getColumnCount(){return title.length;}//取得表格列数
public int getRowCount(){return vect.size();}
public Object getValueAt(int row,int column){
return((Vector)vect.get(row)).get(column);
}//取得单元格中的属性值
public String getColumnName(int column){
return title[column]; }//设置表格列名
public void setValueAt(Object value,int row,int column){}
//数据模型不可编辑,该方法设置为空
public boolean isCellEditable(int row,int column){
Boolean ye=false;
return true;
}
};
//这是new一个tablemodel
while(goods.next())
{
Vector vec=new Vector();
//getString()的参数可以是列的名称,也可以是列的序号,从1开始
vec.addElement(goods.getString("goods_id"));
vec.addElement(goods.getString("goods_name"));
vec.addElement(goods.getString("goods_spec"));
vec.addElement(goods.getString("goods_weight"));
vec.addElement(goods.getString("goods_num"));
vec.addElement(goods.getString("u_id"));
vec.addElement(goods.getString("storage_id"));
vec.addElement(goods.getString("location"));
vec.addElement(goods.getString("condition"));
vec.addElement(new Boolean(false));
vect.addElement(vec);
}
//这是添加了Boolean列
但是最后虽然出现了复选框,但没有办法选中?
问题出在哪里?
拜托大家了~~~~
这是无法选中时的界面 。。。。。。。。。。。。。。我貌似米有定模型不可修改啊~
况且把上面BOOLEAN去掉一样是无法选中的~~~~汗 展开
1个回答
展开全部
额。对自定义的JTable不是很了解。。可是看代码的话似乎在用户这边没有关于CheckBox的代码?还是说你添加了boolean类型的值,并且在getColumnClass时会返回Boolean.class,它自然就会画个勾选框上去?如果是这样的话,也只是显示一个框给你看,打钩表示true,否则表示false,况且是你自己规定模型是不可修改的,那又怎么能选中呢?
----------------------------------------------------------
public void setValueAt(Object value,int row,int column){}
//数据模型不可编辑,该方法设置为空
上面的不就是你写的不可编辑的代码么。。?
----------------------------------------------------------
public void setValueAt(Object value,int row,int column){}
//数据模型不可编辑,该方法设置为空
上面的不就是你写的不可编辑的代码么。。?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询