关于Jtable的问题

markwang139 2009-03-20 05:38:59
实现一个功能,把Jtable的某一行disable掉(不能编辑,灰色显示),里面的数据可以看见,希望各位能给出例子代码,谢谢,问题解决立即给分
...全文
73 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodmrning 2009-03-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 CatOnTower 的回复:]
四楼正解。

Java code
TableColumnModel columnModel = table.getColumnModel();
TableColumn stateColumn = columnModel.getColumn(0);
stateColumn.setCellRenderer(new ComCellRenderer() );
class ComCellRenderer extends JPanel implements TableCellRenderer{
JLabel label;
public comCellRenderer() {
label = new JLabel();
add(label);
}

public Component getTableCellRendererComp…
[/Quote]



楼上正解!
  • 打赏
  • 举报
回复
四楼正解。

TableColumnModel columnModel = table.getColumnModel();
TableColumn stateColumn = columnModel.getColumn(0);
stateColumn.setCellRenderer(new ComCellRenderer() );
class ComCellRenderer extends JPanel implements TableCellRenderer{
JLabel label;
public comCellRenderer() {
label = new JLabel();
add(label);
}

public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected,
boolean hasFocus,
int row, int column) {
String strValue = value==null ? "" : value.toString();
label.setText(strValue);
setBackground(new Color(233,233,233));
return this;
}
}

chxy148 2009-03-20
  • 打赏
  • 举报
回复
4楼正解
yanhan0615 2009-03-20
  • 打赏
  • 举报
回复
楼上的答案素正解,就用TableCellRenderer可以实现
dawn023 2009-03-20
  • 打赏
  • 举报
回复
先处理不能编辑问题,只要JTable重载isCellEditable(int row, int column)就可以了。
至于显示灰色,你为该行的所有单元格定制一个绘制器就可以了,你可以继承缺省的TableCellRenderer,然后设置背景色和前景色。
胡须棉花糖 2009-03-20
  • 打赏
  • 举报
回复
查查api
wanchangjiu123 2009-03-20
  • 打赏
  • 举报
回复
顶一下
Sodino 2009-03-20
  • 打赏
  • 举报
回复
看来我只有帮顶的份了

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧