checkboxcellrenderer.java

来自「大型数据库课程设计源码」· Java 代码 · 共 40 行

JAVA
40
字号
package com.vbank.admin.component;

import java.awt.Component;

import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.UIManager;
import javax.swing.border.Border;
import javax.swing.border.EmptyBorder;
import javax.swing.table.TableCellRenderer;

public class CheckBoxCellRenderer extends JCheckBox implements TableCellRenderer
{
/**
	 * 
	 */
	private static final long serialVersionUID = -976679101324677923L;
protected static Border m_noFocusBorder;
  public CheckBoxCellRenderer() {
      super();
      m_noFocusBorder = new EmptyBorder(1, 2, 1, 2);
      setHorizontalAlignment(JLabel.CENTER);
      setOpaque(true);
      setBorder(m_noFocusBorder);
  }
  public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
      if (value instanceof Boolean &&column!=0)
      {
        Boolean b = (Boolean) value;
        setSelected(b.booleanValue());
        //System.out.println("当前选择状态:"+b.booleanValue());
      }
      setBackground(isSelected ? table.getSelectionBackground() : table.getBackground());
      setForeground(isSelected ? table.getSelectionForeground() : table.getForeground());
      setFont(table.getFont());
      setBorder(hasFocus ? UIManager.getBorder("Table.focusCellHighlightBorder") : m_noFocusBorder);
      return this;
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?