品牌

武汉北大青鸟学子经验分享-java中JTABLE操作

时间:03-31 栏目:java技术

     武汉北大青鸟学子经验分享-java中JTABLE操作

        学习java有一段时间了,也自认算得上的个小高手,然而在碰到JTABLE操作的时候,还是有点望而生畏。这次在项目中,碰到对CheckBox单元格进行背景色渲染,着实让我煞费了一番心思。以下是解决方法,与需要的同学共享。

  [java]

  for (int i = 0; i < table.getColumnCount(); i++) {

  // 第十二列是预警标志位,用CheckBox控件显示

  if (i == 11) {

  table.getColumn(table.getModel()。getColumnName(i))。setCellRenderer(

  new TableCellRenderer() {

  private JCheckBox checkBox = new JCheckBox();

  @Override

  public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {

  if (value != null) {

  checkBox.setSelected(Boolean.valueOf(value.toString()));

  checkBox.setHorizontalAlignment(JCheckBox.CENTER);

  if (isSelected) {

  // 默认选中颜色

  checkBox.setBackground(new Color(10, 36, 106));

  } else {

  String warn_Flag = (String) table.getModel()。getValueAt(row, 13);

  if ("1".equals(warn_Flag)) {

  checkBox.setBackground(Color.RED);

  } else {

  checkBox.setBackground(Color.white);

  }

  }

  }

  return checkBox;

  }

  });

  } else {

  table.getColumn(table.getModel()。getColumnName(i))。setCellRenderer(

  new DefaultTableCellRenderer() {

  @Override

  public Component getTableCellRendererComponent(JTable table,

  Object value, boolean isSelected, boolean hasFocus,

  int row, int column) {

  String warn_Flag = (String) table.getModel()。getValueAt(row, 13);

  if ("1".equals(warn_Flag)) {

  setBackground(Color.RED);

  } else {

  setBackground(Color.white);

  }

  return super.getTableCellRendererComponent(table, value,

  isSelected, hasFocus, row, column);

  });

  <span style="white-space:pre">  </span>}}

        还有不足之处希望能够得到指教。

专业老师指导

赵老师

赵老师

从事IT教育培训十年有余,致力于帮助广大学子找到适合自己的专业

立即在线咨询

培训咨询客服

陈老师

陈老师

IT培训专业客服,用自己的真诚解决了无数学子的困惑

立即在线咨询

热门课程任你选,成长蜕变看的见

课程余量有限,即将截止报名!查看详情

抢到名额,您将获得

1、【北大青鸟武汉校区】“十三家校区通用课程体验卡一张”
2、现加微信,您将免费获得3天IT训练营的机会,另送价值6800的线上课程学习卡一张。

全国百余家校区

只为您方便就学

全国百余家校区 光谷校区

武汉市东湖开发区流芳园北路9号东一产业园内(武汉工程大学流芳校区旁)

点击预约
到校领取学习大礼包