📄 jtableheader.java
字号:
public JTableHeader(TableColumnModel cm) { columnModel = cm == null ? createDefaultColumnModel() : cm; initializeLocalVars(); updateUI(); } /** * Creates a default table column model. * * @return A default table column model. */ protected TableColumnModel createDefaultColumnModel() { return new DefaultTableColumnModel(); } /** * Get the value of the {@link #accessibleContext} property. * * @return The current value of the property */ public AccessibleContext getAccessibleContext() { return accessibleContext; } /** * Get the value of the {@link #columnModel} property. * * @return The current value of the property */ public TableColumnModel getColumnModel() { return columnModel; } /** * Get the value of the {@link #draggedColumn} property. * * @return The current value of the property */ public TableColumn getDraggedColumn() { return draggedColumn; } /** * Get the value of the {@link #draggedDistance} property. * * @return The current value of the property */ public int getDraggedDistance() { return draggedDistance; } /** * Get the value of the {@link #reorderingAllowed} property. * * @return The current value of the property */ public boolean getReorderingAllowed() { return reorderingAllowed; } /** * Get the value of the {@link #resizingAllowed} property. * * @return The current value of the property */ public boolean getResizingAllowed() { return resizingAllowed; } /** * Get the value of the {@link #resizingColumn} property. * * @return The current value of the property */ public TableColumn getResizingColumn() { return resizingColumn; } /** * Get the value of the {@link #table} property. * * @return The current value of the property */ public JTable getTable() { return table; } /** * Get the value of the {@link #updateTableInRealTime} property. * * @return The current value of the property */ public boolean getUpdateTableInRealTime() { return updateTableInRealTime; } /** * Get the value of the {@link #opaque} property. * * @return The current value of the property */ public boolean isOpaque() { return opaque; } /** * Set the value of the {@link #columnModel} property. * * @param c The new value of the property */ public void setColumnModel(TableColumnModel c) { columnModel.removeColumnModelListener(this); columnModel = c; columnModel.addColumnModelListener(this); } /** * Set the value of the {@link #draggedColumn} property. * * @param d The new value of the property */ public void setDraggedColumn(TableColumn d) { draggedColumn = d; } /** * Set the value of the {@link #draggedDistance} property. * * @param d The new value of the property */ public void setDraggedDistance(int d) { draggedDistance = d; } /** * Set the value of the {@link #opaque} property. * * @param o The new value of the property */ public void setOpaque(boolean o) { opaque = o; } /** * Set the value of the {@link #reorderingAllowed} property. * * @param r The new value of the property */ public void setReorderingAllowed(boolean r) { reorderingAllowed = r; } /** * Set the value of the {@link #resizingAllowed} property. * * @param r The new value of the property */ public void setResizingAllowed(boolean r) { resizingAllowed = r; } /** * Set the value of the {@link #resizingColumn} property. * * @param r The new value of the property */ public void setResizingColumn(TableColumn r) { resizingColumn = r; } /** * Set the value of the {@link #table} property. * * @param t The new value of the property */ public void setTable(JTable t) { table = t; } /** * Set the value of the {@link #updateTableInRealTime} property. * * @param u The new value of the property */ public void setUpdateTableInRealTime(boolean u) { updateTableInRealTime = u; } /** * Creates a default renderer. * * @return A default renderer. */ protected TableCellRenderer createDefaultRenderer() { return new DefaultTableCellRenderer(); } /** * Returns the default table cell renderer. * * @return The default table cell renderer. */ public TableCellRenderer getDefaultRenderer() { return cellRenderer; } /** * Sets the default table cell renderer. * * @param cellRenderer the renderer. */ public void setDefaultRenderer(TableCellRenderer cellRenderer) { this.cellRenderer = cellRenderer; } public Rectangle getHeaderRect(int column) { Rectangle r = getTable().getCellRect(-1, column, false); r.height = getHeight(); return r; } protected String paramString() { return "JTableHeader"; } // UI support public String getUIClassID() { return "TableHeaderUI"; } public TableHeaderUI getUI() { return (TableHeaderUI) ui; } public void setUI(TableHeaderUI u) { super.setUI(u); } public void updateUI() { setUI((TableHeaderUI) UIManager.getUI(this)); } /** * Returns the index of the column at the specified point. * * @param point the point. * * @return The column index, or -1. */ public int columnAtPoint(Point point) { if (getBounds().contains(point)) return columnModel.getColumnIndexAtX(point.x); return -1; } /** * Receives notification when a column is added to the column model. * * @param event the table column model event */ public void columnAdded(TableColumnModelEvent event) { // TODO: What else to do here (if anything)? resizeAndRepaint(); } /** * Receives notification when a column margin changes in the column model. * * @param event the table column model event */ public void columnMarginChanged(ChangeEvent event) { // TODO: What else to do here (if anything)? resizeAndRepaint(); } /** * Receives notification when a column is moved within the column model. * * @param event the table column model event */ public void columnMoved(TableColumnModelEvent event) { // TODO: What else to do here (if anything)? resizeAndRepaint(); } /** * Receives notification when a column is removed from the column model. * * @param event the table column model event */ public void columnRemoved(TableColumnModelEvent event) { // TODO: What else to do here (if anything)? resizeAndRepaint(); } /** * Receives notification when the column selection has changed. * * @param event the table column model event */ public void columnSelectionChanged(ListSelectionEvent event) { // TODO: What else to do here (if anything)? resizeAndRepaint(); } /** * Validates the layout of this table header and repaints it. This is * equivalent to <code>revalidate()</code> followed by * <code>repaint()</code>. */ public void resizeAndRepaint() { revalidate(); repaint(); } /** * Initializes the fields and properties of this class with default values. * This is called by the constructors. */ protected void initializeLocalVars() { accessibleContext = new AccessibleJTableHeader(); draggedColumn = null; draggedDistance = 0; opaque = true; reorderingAllowed = true; resizingAllowed = true; resizingColumn = null; table = null; updateTableInRealTime = true; cellRenderer = createDefaultRenderer(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -