javax.swing.table.JTableHeader#columnAtPoint ( )源码实例Demo

下面列出了javax.swing.table.JTableHeader#columnAtPoint ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: evosql   文件: TableSorter.java
public void mouseClicked(MouseEvent e) {

            JTableHeader     h           = (JTableHeader) e.getSource();
            TableColumnModel columnModel = h.getColumnModel();
            int              viewColumn  = h.columnAtPoint(e.getPoint());
            int column = columnModel.getColumn(viewColumn).getModelIndex();

            if (column != -1) {
                int status = getSortingStatus(column);

                if (!e.isControlDown()) {
                    cancelSorting();
                }

                // Cycle the sorting states through {NOT_SORTED, ASCENDING, DESCENDING} or
                // {NOT_SORTED, DESCENDING, ASCENDING} depending on whether shift is pressed.
                status = status + (e.isShiftDown() ? -1
                                                   : 1);
                status = (status + 4) % 3 - 1;    // signed mod, returning {-1, 0, 1}

                setSortingStatus(column, status);
            }
        }
 
/**
 * Handle a mouse press event - if the user is NOT resizing a column and NOT dragging a column
 * then give visual feedback that the column header has been pressed.
 *
 * @param e  the mouse event.
 */
public void mousePressed(final MouseEvent e) {

    final JTableHeader header = (JTableHeader) e.getComponent();

    if (header.getResizingColumn() == null) {  // resizing takes precedence over sorting
        if (header.getDraggedDistance() < 1) {   // dragging also takes precedence over sorting
            final int columnIndex = header.columnAtPoint(e.getPoint());
            final int modelColumnIndex 
                = header.getTable().convertColumnIndexToModel(columnIndex);
            if (this.model.isSortable(modelColumnIndex)) {
                this.sortColumnIndex = header.getTable().convertColumnIndexToModel(columnIndex);
                this.renderer.setPressedColumn(this.sortColumnIndex);
                header.repaint();
                if (header.getTable().isEditing()) {
                    header.getTable().getCellEditor().stopCellEditing();
                }
            }
            else {
                this.sortColumnIndex = -1;
            }
        }
    }

}
 
源代码3 项目: pentaho-reporting   文件: TableEditorPanel.java
private void selectColumn( final JTableHeader aTableHeader, final Point aPoint ) {
  try {
    selectingHeaderColumn = true;

    final TableColumnModel columnModel = table.getColumnModel();
    final int columnIndex = aTableHeader.columnAtPoint( aPoint );
    if ( columnIndex <= 0 ) {
      return;
    }

    final TableColumn tableColumn = columnModel.getColumn( columnIndex );

    table.clearSelection();
    table.setColumnSelectionInterval( columnIndex, columnIndex );
    table.setSelectedColumn( tableColumn );
    if ( table.getRowCount() > 0 ) {
      table.addRowSelectionInterval( 0, table.getRowCount() - 1 );
    }
  } finally {
    selectingHeaderColumn = false;
  }
}
 
源代码4 项目: netbeans   文件: OptionsAction.java
public void mouseClicked (MouseEvent evt) {
    Component c = evt.getComponent ();
    if (c instanceof JTableHeader) {
        JTableHeader h = (JTableHeader)c;
        
        // show/hide additional properties
        if (1 == h.columnAtPoint (evt.getPoint ())) {
            refreshColumns (true);
        }
    }
}
 
源代码5 项目: mars-sim   文件: TableColumnManager.java
private void checkForPopup(MouseEvent e)
{
	if (e.isPopupTrigger())
	{
		JTableHeader header = (JTableHeader)e.getComponent();
		int column = header.columnAtPoint( e.getPoint() );
		showPopup(column);
	}
}
 
源代码6 项目: java-swing-tips   文件: MainPanel.java
@Override public void show(Component c, int x, int y) {
  if (c instanceof JTableHeader) {
    JTableHeader header = (JTableHeader) c;
    header.setDraggedColumn(null);
    header.repaint();
    header.getTable().repaint();
    index = header.columnAtPoint(new Point(x, y));
    if (index >= 0) {
      super.show(c, x, y);
    }
  }
}
 
源代码7 项目: java-swing-tips   文件: MainPanel.java
@Override public void show(Component c, int x, int y) {
  if (c instanceof JTableHeader) {
    JTableHeader header = (JTableHeader) c;
    header.setDraggedColumn(null); // bookmark_1
    // if (header.getDraggedColumn() != null) remain dirty area >>>
    header.repaint();
    header.getTable().repaint();
    // <<<
    index = header.columnAtPoint(new Point(x, y));
    super.show(c, x, y);
  }
}
 
源代码8 项目: java-swing-tips   文件: MainPanel.java
@Override public void mousePressed(MouseEvent e) {
  JTableHeader h = (JTableHeader) e.getComponent();
  int idx = h.columnAtPoint(e.getPoint());
  if (idx < 0) {
    return;
  }
  TableColumnModel m = h.getColumnModel();
  Object title = m.getColumn(idx).getHeaderValue();
  cardLayout.show(contentsPanel, Objects.toString(title));
  selectedColumn = title;
}
 
源代码9 项目: java-swing-tips   文件: MainPanel.java
private void updateRolloverColumn(MouseEvent e) {
  JTableHeader h = (JTableHeader) e.getComponent();
  if (Objects.isNull(h.getDraggedColumn()) && h.contains(e.getPoint())) {
    int col = h.columnAtPoint(e.getPoint());
    if (col != rolloverColumn) {
      // int oldRolloverColumn = rolloverColumn;
      rolloverColumn = col;
      // rolloverColumnUpdated(oldRolloverColumn, rolloverColumn);
    }
  }
}