void (MouseEvent e) { Point point = e.getPoint(); int column = columnAtPoint(point); int row = rowAtPoint(point); resetRollOverCell(); if (row >= 0 && row < getRowCount() && column >= 0 && column < getColumnCount()) { TableCellRenderer cellRenderer = getCellRenderer(row, column); if (cellRenderer != null) { Component rc = cellRenderer.getTableCellRendererComponent(JBTable.this, getValueAt(row, column), isCellSelected(row, column), hasFocus(), row, column); if (rc instanceof JCheckBox && (rollOverCell == null || !rollOverCell.at(row, column))) { Rectangle cellRect = getCellRect(row, column, false); rollOverCell = new TableCell(row, column); ((JCheckBox)rc).putClientProperty(UIUtil.CHECKBOX_ROLLOVER_PROPERTY, cellRect); if (getModel() instanceof AbstractTableModel) { ((AbstractTableModel)getModel()).fireTableCellUpdated(row, column); } } } } }