rownumberheader.java

来自「< ProJavaProgrammingSecondEdition>」· Java 代码 · 共 43 行

JAVA
43
字号
import javax.swing.*;
import javax.swing.table.*;

public class RowNumberHeader extends JTable {

  protected JTable mainTable;

  public RowNumberHeader(JTable table) {
    super();
    mainTable = table;
    setModel(new RowNumberTableModel());
    setPreferredScrollableViewportSize(getMinimumSize());
    setRowSelectionAllowed(false);
    JComponent renderer = (JComponent)getDefaultRenderer(Object.class);
    LookAndFeel.installColorsAndFont(renderer, 
                                     "TableHeader.background", 
                                     "TableHeader.foreground", 
                                     "TableHeader.font");
    LookAndFeel.installBorder(this, "TableHeader.cellBorder");
  }

  public int getRowHeight(int row) {
    return mainTable.getRowHeight();
  } 

  class RowNumberTableModel extends AbstractTableModel {

    public int getRowCount() {
      return mainTable.getModel().getRowCount();
    } 

    public int getColumnCount() {
      return 1;
    } 

    public Object getValueAt(int row, int column) {
      return new Integer(row + 1);
    } 

  }

}

⌨️ 快捷键说明

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