bordercellrenderer.java

来自「Java中Swing界面库中几个类使用的例子」· Java 代码 · 共 66 行

JAVA
66
字号
/* (swing1.1) */package jp.gr.java_conf.tame.swing.table;import java.awt.*;import javax.swing.*;import javax.swing.table.*;import javax.swing.border.*;/** * @version 1.0 03/06/99 */public class BorderCellRenderer extends JLabel    implements TableCellRenderer {  protected Border noFocusBorder;   protected Border columnBorder;    public BorderCellRenderer() {    noFocusBorder = new EmptyBorder(1, 2, 1, 2);    setOpaque(true);  }  public Component getTableCellRendererComponent(JTable table, Object value,                 boolean isSelected, boolean hasFocus, int row, int column) {    if (isSelected) {      setForeground(table.getSelectionForeground());      setBackground(table.getSelectionBackground());    } else {      setForeground(table.getForeground());      setBackground(table.getBackground());    }    setFont(table.getFont());        if (hasFocus) {      setBorder( UIManager.getBorder("Table.focusCellHighlightBorder") );      if (table.isCellEditable(row, column)) {	setForeground( UIManager.getColor("Table.focusCellForeground") );	setBackground( UIManager.getColor("Table.focusCellBackground") );      }    } else {      if (value instanceof CellBorder) {        Border border = ((CellBorder)value).getBorder();        setBorder(border);      } else {        if (columnBorder != null) {          setBorder(columnBorder);        } else {          setBorder(noFocusBorder);        }      }    }    setText((value == null) ? "" : value.toString());            return this;  }    public void setColumnBorder(Border border) {    columnBorder = border;  }    public Border getColumnBorder() {    return columnBorder;  }    }

⌨️ 快捷键说明

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