package com.fr.grid; import java.awt.*; public abstract class GridHeader extends BaseGridComponent { public final static int SIZE_ADJUST = 4; //属性 private Color separatorLineColor = new Color(172, 168, 153); //separator lines private Color selectedForeground = Color.black; private Color selectedBackground = new Color(208, 240, 252); protected int resolution; public GridHeader() { //清除所有的Key Action. this.getInputMap().clear(); this.getActionMap().clear(); this.setFocusable(false); this.setOpaque(true); initByConstructor(); } public void setResolution(int resolution) { this.resolution = resolution; } public int getResolution() { return this.resolution; } protected abstract void initByConstructor(); protected abstract T getDisplay(int index); /** * Gets separator line color. * * @return the separator line color. */ public Color getSeparatorLineColor() { return this.separatorLineColor; } /** * Sets row separator line color. * * @param separatorLineColor the new row color of separator line. */ public void setSeparatorLineColor(Color separatorLineColor) { Color old = this.separatorLineColor; this.separatorLineColor = separatorLineColor; this.firePropertyChange("separatorLineColor", old, this.separatorLineColor); this.repaint(); } /** * Gets selected foreground. * * @return the selected foreground. */ public Color getSelectedForeground() { return this.selectedForeground; } /** * Sets row selected foreground. * * @param selectedForeground the new row selected foreground. */ public void setSelectedForeground(Color selectedForeground) { Color old = this.selectedForeground; this.selectedForeground = selectedForeground; this.firePropertyChange("selectedForeground", old, this.selectedForeground); this.repaint(); } /** * Gets selected background. * * @return the selected background. */ public Color getSelectedBackground() { return this.selectedBackground; } /** * Sets row selected background. * * @param selectedBackground the new row selected background. */ public void setSelectedBackground(Color selectedBackground) { Color old = this.selectedBackground; this.selectedBackground = selectedBackground; this.firePropertyChange("selectedBackground", old, this.selectedBackground); this.repaint(); } }