如何使JTalbe单元个不能被编辑,且列的顺序固定,不能拖动?
我使用int[] index = jTable1.getSelectedRows()得到所选的行,
String[] idStr = new String[ind.length];
for (int i = 0; i < ind.length; i++) {
idStr[i]= (String) jTable1.getValueAt(ind[i],0);
}
我希望返回其中一列的值
但列的顺序是可变的
一旦有人拖动第一列,改变了列的顺序
返回值就错了
高手有办法解决吗?
可QQ联系283595004!
我的jTable1 初始化的代码如下:
OperateOrder Oo = new OperateOrder();
ResultSet rsO = Oo.queryUn(); //所有未读订单
Vector colname = new Vector();
appButton.addActionListener(new
OrderApproveWindow_appButton_actionAdapter(this));
colname.add("订单ID");
colname.add("物资");
colname.add("数量");
colname.add("人员");
colname.add("部门");
colname.add("日期");
Vector rowAll = new Vector();
while (rsO.next()) {
Vector row = new Vector();
row.add(rsO.getString("ID")); //订单ID
ResultSet rsM = new OperateMunition().queryByID(rsO.getString(
"munitionID"));
while (rsM.next()) {
row.add(rsM.getString("name")); //物资
}
row.add(rsO.getInt("count")); //数量
ResultSet rsUser = new OperateUser().queryByID(rsO.getString(
"userID"));
ResultSet rsDe = null;
while (rsUser.next()) {
row.add(rsUser.getString("realName")); //人员
rsDe = new OperateDepartment().queryByID(rsUser.getString(
"departmentID")); } while (rsDe.next()) {
row.add(rsDe.getString("name")); //部门
}
row.add(rsO.getString("Date")); //日期
rowAll.add(row);
index = rowAll;
}
jTable1 = new JTable(rowAll, colname);
jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
我使用int[] index = jTable1.getSelectedRows()得到所选的行,
String[] idStr = new String[ind.length];
for (int i = 0; i < ind.length; i++) {
idStr[i]= (String) jTable1.getValueAt(ind[i],0);
}
我希望返回其中一列的值
但列的顺序是可变的
一旦有人拖动第一列,改变了列的顺序
返回值就错了
高手有办法解决吗?
可QQ联系283595004!
我的jTable1 初始化的代码如下:
OperateOrder Oo = new OperateOrder();
ResultSet rsO = Oo.queryUn(); //所有未读订单
Vector colname = new Vector();
appButton.addActionListener(new
OrderApproveWindow_appButton_actionAdapter(this));
colname.add("订单ID");
colname.add("物资");
colname.add("数量");
colname.add("人员");
colname.add("部门");
colname.add("日期");
Vector rowAll = new Vector();
while (rsO.next()) {
Vector row = new Vector();
row.add(rsO.getString("ID")); //订单ID
ResultSet rsM = new OperateMunition().queryByID(rsO.getString(
"munitionID"));
while (rsM.next()) {
row.add(rsM.getString("name")); //物资
}
row.add(rsO.getInt("count")); //数量
ResultSet rsUser = new OperateUser().queryByID(rsO.getString(
"userID"));
ResultSet rsDe = null;
while (rsUser.next()) {
row.add(rsUser.getString("realName")); //人员
rsDe = new OperateDepartment().queryByID(rsUser.getString(
"departmentID")); } while (rsDe.next()) {
row.add(rsDe.getString("name")); //部门
}
row.add(rsO.getString("Date")); //日期
rowAll.add(row);
index = rowAll;
}
jTable1 = new JTable(rowAll, colname);
jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
解决方案 »
- 浏览量
- 关于SimpleDateFormat的问题,我想不透
- 关于Java中输入的用法
- 创建String对象的问题??
- maven 简单问题:使用MAVEN 编译 sakai 时,提示 error reading xml or initializaing, 请问是不是缺少了什么, 我时初学JAVA,麻烦各位
- BigDecimal数据怎么做除法啊?????
- HashMap 声明和不声明有什么区别
- java里面怎么怎么在一个面板里面画一副图像的一部分
- Swing 中如何嵌入网页
- 如何更新我的.....(高分相送,我会再加贴子的)
- JTable的Jcheckbox显示问题
- 求 判断输入日期是否大于本月最后一天的方法
public boolean isCellEditable(int row,int col){
return false;
}不能拖动
jTable1.getTableHeader().setReorderingAllowed(false);
public boolean isCellEditable(int row,int col){
return false;
}不能拖动
jTable1.getTableHeader().setReorderingAllowed(false);