javax.swing.JTable#convertColumnIndexToModel ( )源码实例Demo

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

源代码1 项目: jplag   文件: TableSorter.java
public Component getTableCellRendererComponent(JTable table, 
                                               Object value,
                                               boolean isSelected, 
                                               boolean hasFocus,
                                               int row, 
                                               int column) {
    Component c = tableCellRenderer.getTableCellRendererComponent(table, 
            value, isSelected, hasFocus, row, column);
    if (c instanceof JLabel) {
        JLabel l = (JLabel) c;
        l.setHorizontalTextPosition(JLabel.LEFT);
        int modelColumn = table.convertColumnIndexToModel(column);
        l.setIcon(getHeaderRendererIcon(modelColumn, l.getFont().getSize()));
    }
    return c;
}
 
源代码2 项目: openjdk-8   文件: TableSorter.java
public void addMouseListenerToHeaderInTable(JTable table) {
    final TableSorter sorter = this;
    final JTable tableView = table;
    tableView.setColumnSelectionAllowed(false);
    MouseAdapter listMouseListener = new MouseAdapter() {

        @Override
        public void mouseClicked(MouseEvent e) {
            TableColumnModel columnModel = tableView.getColumnModel();
            int viewColumn = columnModel.getColumnIndexAtX(e.getX());
            int column = tableView.convertColumnIndexToModel(viewColumn);
            if (e.getClickCount() == 1 && column != -1) {
                System.out.println("Sorting ...");
                int shiftPressed = e.getModifiers() & InputEvent.SHIFT_MASK;
                boolean ascending = (shiftPressed == 0);
                sorter.sortByColumn(column, ascending);
            }
        }
    };
    JTableHeader th = tableView.getTableHeader();
    th.addMouseListener(listMouseListener);
}
 
源代码3 项目: jdk8u-jdk   文件: TableSorter.java
public void addMouseListenerToHeaderInTable(JTable table) {
    final TableSorter sorter = this;
    final JTable tableView = table;
    tableView.setColumnSelectionAllowed(false);
    MouseAdapter listMouseListener = new MouseAdapter() {

        @Override
        public void mouseClicked(MouseEvent e) {
            TableColumnModel columnModel = tableView.getColumnModel();
            int viewColumn = columnModel.getColumnIndexAtX(e.getX());
            int column = tableView.convertColumnIndexToModel(viewColumn);
            if (e.getClickCount() == 1 && column != -1) {
                System.out.println("Sorting ...");
                int shiftPressed = e.getModifiers() & InputEvent.SHIFT_MASK;
                boolean ascending = (shiftPressed == 0);
                sorter.sortByColumn(column, ascending);
            }
        }
    };
    JTableHeader th = tableView.getTableHeader();
    th.addMouseListener(listMouseListener);
}
 
源代码4 项目: marathonv5   文件: JTableJavaElement.java
private void validate(int viewRow, int viewCol) {
	JTable table = (JTable) getComponent();
	try {
		int row = table.convertRowIndexToModel(viewRow);
		int col = table.convertColumnIndexToModel(viewCol);
		TableModel model = table.getModel();
		if (row >= 0 && row < model.getRowCount() && col >= 0 && col < model.getColumnCount()) {
			if (table.isCellEditable(viewRow, viewCol)) {
				return;
			} else {
				throw new NoSuchElementException(
						"The cell is not editable on JTable: (" + viewRow + ", " + viewCol + ")", null);
			}
		}
	} catch (IndexOutOfBoundsException e) {
	}
	throw new NoSuchElementException("Invalid row/col for JTable: (" + viewRow + ", " + viewCol + ")", null);
}
 
@Override
public void mouseClicked(MouseEvent e) {
    JTableHeader header = (JTableHeader) e.getSource();
    JTable table = header.getTable();
    TableColumnModel columnModel = table.getColumnModel();
    int vci = columnModel.getColumnIndexAtX(e.getX());
    int mci = table.convertColumnIndexToModel(vci);
    if (mci == targetColumnIndex) {
        if (SwingUtilities.isLeftMouseButton(e)) {
            TableColumn column = columnModel.getColumn(vci);
            Object v = column.getHeaderValue();
            boolean b = Status.DESELECTED.equals(v);
            TableModel m = table.getModel();
            for (int i = 0; i < m.getRowCount(); i++) {
                m.setValueAt(b, i, mci);
            }
            column.setHeaderValue(b ? Status.SELECTED : Status.DESELECTED);
        } else if (SwingUtilities.isRightMouseButton(e)) {
            if (popupMenu != null) {
                popupMenu.show(table, e.getX(), 0);
            }
        }
    }
}
 
源代码6 项目: jdk8u-dev-jdk   文件: TableSorter.java
public void addMouseListenerToHeaderInTable(JTable table) {
    final TableSorter sorter = this;
    final JTable tableView = table;
    tableView.setColumnSelectionAllowed(false);
    MouseAdapter listMouseListener = new MouseAdapter() {

        @Override
        public void mouseClicked(MouseEvent e) {
            TableColumnModel columnModel = tableView.getColumnModel();
            int viewColumn = columnModel.getColumnIndexAtX(e.getX());
            int column = tableView.convertColumnIndexToModel(viewColumn);
            if (e.getClickCount() == 1 && column != -1) {
                System.out.println("Sorting ...");
                int shiftPressed = e.getModifiers() & InputEvent.SHIFT_MASK;
                boolean ascending = (shiftPressed == 0);
                sorter.sortByColumn(column, ascending);
            }
        }
    };
    JTableHeader th = tableView.getTableHeader();
    th.addMouseListener(listMouseListener);
}
 
源代码7 项目: knopflerfish.org   文件: TableSorter.java
public void addMouseListenerToHeaderInTable(JTable table) {
    final TableSorter sorter = this;
    final JTable tableView = table;
    tableView.setColumnSelectionAllowed(false);
    final MouseAdapter listMouseListener = new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            final TableColumnModel columnModel = tableView.getColumnModel();
            final int viewColumn = columnModel.getColumnIndexAtX(e.getX());
            final int column = tableView.convertColumnIndexToModel(viewColumn);
            if (e.getClickCount() == 1 && column != -1) {
                //System.out.println("Sorting ...");
                final int shiftPressed = e.getModifiers()&InputEvent.SHIFT_MASK;
                final boolean ascending = (shiftPressed == 0);
                sorter.sortByColumn(column, ascending);
            }
        }
    };
    final JTableHeader th = tableView.getTableHeader();
    th.addMouseListener(listMouseListener);
}
 
源代码8 项目: knopflerfish.org   文件: TableSorter.java
public void addMouseListenerToHeaderInTable(JTable table)
{
  final TableSorter sorter = this;
  final JTable tableView = table;
  tableView.setColumnSelectionAllowed(false);
  final MouseAdapter listMouseListener = new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent e)
    {
      final TableColumnModel columnModel = tableView.getColumnModel();
      final int viewColumn = columnModel.getColumnIndexAtX(e.getX());
      final int column = tableView.convertColumnIndexToModel(viewColumn);
      if (e.getClickCount() == 1 && column != -1) {
        final int shiftPressed = e.getModifiers() & InputEvent.SHIFT_MASK;
        final boolean ascending = (shiftPressed == 0);
        sorter.sortByColumn(column, ascending);
      }
    }
  };
  final JTableHeader th = tableView.getTableHeader();
  th.addMouseListener(listMouseListener);
}
 
源代码9 项目: netbeans   文件: NumberFieldEditor.java
@Override
public Component getTableCellEditorComponent(final JTable table, Object value, boolean isSelected, int row, int column) {
    oldValue = value;
    int modelColumn = table.convertColumnIndexToModel(column);
    TableModel tm = table.getModel();
    dbColumn = null;
    if (tm instanceof ResultSetTableModel) {
        textField.setInputVerifier(verifier);
        dbColumn = ((ResultSetTableModel) tm).getColumn(modelColumn);
    } else {
        textField.setInputVerifier(null);
    }
    Component c = super.getTableCellEditorComponent(table, value, isSelected, row, column);
    if (suppressEditorBorder && c instanceof JComponent) {
        ((JComponent) c).setBorder(BorderFactory.createEmptyBorder());
    }
    return c;
}
 
源代码10 项目: openjdk-8-source   文件: TableSorter.java
public void addMouseListenerToHeaderInTable(JTable table) {
    final TableSorter sorter = this;
    final JTable tableView = table;
    tableView.setColumnSelectionAllowed(false);
    MouseAdapter listMouseListener = new MouseAdapter() {

        @Override
        public void mouseClicked(MouseEvent e) {
            TableColumnModel columnModel = tableView.getColumnModel();
            int viewColumn = columnModel.getColumnIndexAtX(e.getX());
            int column = tableView.convertColumnIndexToModel(viewColumn);
            if (e.getClickCount() == 1 && column != -1) {
                System.out.println("Sorting ...");
                int shiftPressed = e.getModifiers() & InputEvent.SHIFT_MASK;
                boolean ascending = (shiftPressed == 0);
                sorter.sortByColumn(column, ascending);
            }
        }
    };
    JTableHeader th = tableView.getTableHeader();
    th.addMouseListener(listMouseListener);
}
 
源代码11 项目: uima-uimaj   文件: MyCellRenderer.java
/**
 * Gets the table cell renderer component.
 *
 * @param table the table
 * @param value the value
 * @param isSelected the is selected
 * @param hasFocus the has focus
 * @param row the row
 * @param column the column
 * @param styleList the style list
 * @return the table cell renderer component
 */
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
        boolean hasFocus, int row, int column, ArrayList styleList) {
  Component cell = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row,
          column);

  StyleMapEntry e = (StyleMapEntry) styleList.get(row);
  if (e != null) {
    int modelColumnNr = table.convertColumnIndexToModel(column);
    // if (modelColumnNr == StyleConstants.FEATURE_VALUE_COLUMN &&
    // !table.getModel().isCellEditable(row, modelColumnNr))
    // {
    // cell.setBackground(table.getParent().getBackground());
    // ((JLabel) cell).setIcon(null);
    // }
    // else
    {
      ((JLabel) cell).setIcon(((modelColumnNr == 0 && isSelected) ? smallArrowIcon : null));
      cell.setForeground(e.getForeground());
      cell.setBackground(e.getBackground());
    }
  }

  return cell;
}
 
源代码12 项目: constellation   文件: TableViewTopComponent.java
@Override
public Component getTableCellRendererComponent(final JTable table, final Object value, final boolean isSelected, final boolean hasFocus, final int row, final int column) {
    final Component c = delegate.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    if (c instanceof JLabel) {
        final GraphTableModel model = (GraphTableModel) table.getModel();
        final int modelIndex = table.convertColumnIndexToModel(column);
        final Segment segment = model.getSegment(modelIndex);
        final JLabel label = (JLabel) c;
        label.setIcon(segment == Segment.TX ? UserInterfaceIconProvider.CONNECTIONS.buildIcon(16) : VX_ICON);
        label.setHorizontalTextPosition(SwingConstants.RIGHT);
    }

    return c;
}
 
源代码13 项目: constellation   文件: TableViewTopComponent.java
@Override
public Component getTableCellRendererComponent(final JTable table, final Object value, final boolean isSelected, final boolean hasFocus, final int row, final int column) {
    final Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    if (!isSelected) {
        final GraphTableModel model = (GraphTableModel) table.getModel();
        final int modelIndex = table.convertColumnIndexToModel(column);
        final Segment segment = model.getSegment(modelIndex);
        c.setBackground(SEGMENT_COLORS[segment.ordinal()]);
    }

    return c;
}
 
/**
 * Adds a mouselistener to the header: left-click on the header sorts in
 * ascending manner, using shift-left-click in descending manner.
 *
 * @param table       the table to add the listener to
 */
public void addMouseListenerToHeader(JTable table) {
	final SortableAndSearchableWrapperTableModel 	fModel;
	final JTable fTable;
	JTableHeader header;

	fModel = this;
	fTable = table;
	fTable.setColumnSelectionAllowed(false);
	header = fTable.getTableHeader();

	if (header != null) {
		if (m_MouseListener == null) {
			m_MouseListener = new MouseAdapter() {
				@Override
				public void mouseClicked(MouseEvent e) {
					TableColumnModel columnModel = fTable.getColumnModel();
					int viewColumn = columnModel.getColumnIndexAtX(e.getX());
					int column = fTable.convertColumnIndexToModel(viewColumn);
					if (MouseUtils.isLeftClick(e) && !e.isAltDown() && !e.isControlDown() && (column != -1))
						fModel.sort(column, !e.isShiftDown());
				}
			};
		}

		header.addMouseListener(m_MouseListener);
	}
}
 
源代码15 项目: visualvm   文件: ItemValueRenderer.java
protected Object formatValue(JTable table, Object value, boolean isSelected,
                             boolean hasFocus, int row, int column) {

    DetailsTableModel model = (DetailsTableModel)table.getModel();
    int columnIndex = table.convertColumnIndexToModel(column);
    ValueItemDescriptor descriptor = model.getDescriptor(columnIndex);

    String valueString = descriptor.getValueString((Long)value,
                         ItemValueFormatter.FORMAT_DETAILS);
    // Improve spacing of the text
    return " " + valueString + " "; // NOI18N
}
 
源代码16 项目: binnavi   文件: CTableSorter.java
@Override
public Component getTableCellRendererComponent(final JTable table, final Object value,
    final boolean isSelected, final boolean hasFocus, final int row, final int column) {
  final Component c =
      tableCellRenderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row,
          column);
  if (c instanceof JLabel) {
    final JLabel l = (JLabel) c;
    l.setHorizontalTextPosition(SwingConstants.LEFT);
    final int modelColumn = table.convertColumnIndexToModel(column);
    l.setIcon(getHeaderRendererIcon(modelColumn, l.getFont().getSize()));
  }
  return c;
}
 
源代码17 项目: netbeans   文件: GitStatusTable.java
@Override
public Component getTableCellRendererComponent (JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    Component renderer;
    int modelColumnIndex = table.convertColumnIndexToModel(column);
    GitStatusNode node = null;
    if (modelColumnIndex == 0) {
        node = tableModel.getNode(table.convertRowIndexToModel(row));
        if (!isSelected) {
            value = node.getHtmlDisplayName();
        }
        if (GitModuleConfig.getDefault().isExcludedFromCommit(node.getFile().getAbsolutePath())) {
            value = "<s>" + value + "</s>"; //NOI18N
        }
        value = "<html>" + value; // NOI18N
    }
    if (modelColumnIndex == 2) {
        renderer = pathRenderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    } else {
        renderer = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    }
    if (renderer instanceof JComponent) {
        if (node == null) {
            node = tableModel.getNode(table.convertRowIndexToModel(row));
        }
        String path = node.getFile().getAbsolutePath();
        ((JComponent) renderer).setToolTipText(path);
    }
    return renderer;
}
 
源代码18 项目: netbeans   文件: StringTableCellEditor.java
@Override
public Component getTableCellEditorComponent(final JTable table, Object value, boolean isSelected, final int row, final int column) {
    final JComponent c = (JComponent) super.getTableCellEditorComponent(table, value, isSelected, row, column);      
    
    this.tableModel = table.getModel();
    this.columnName = table.getColumnName(column);
    this.modelRow = table.convertRowIndexToModel(row);
    this.modelColumn = table.convertColumnIndexToModel(column);  
    this.tc = c instanceof JTextComponent ? (JTextComponent) c : null;

    JPanel panel = new JPanel(new BorderLayout()) {
        @Override
        public void addNotify() {
            super.addNotify();
            c.requestFocus();
        }
    };
    panel.add(c);
    if (suppressEditorBorder) {
        c.setBorder(BorderFactory.createEmptyBorder());
    }
    panel.add(customEditorButton, BorderLayout.EAST);
    panel.revalidate();
    panel.repaint();

    return panel;
}
 
源代码19 项目: ccu-historian   文件: SortButtonRenderer.java
/**
 * Returns the renderer component.
 *
 * @param table      the table.
 * @param value      the value.
 * @param isSelected selected?
 * @param hasFocus   focussed?
 * @param row        the row.
 * @param column     the column.
 * @return the renderer.
 */
public Component getTableCellRendererComponent(final JTable table,
                                               final Object value,
                                               final boolean isSelected,
                                               final boolean hasFocus,
                                               final int row, final int column) {

    if (table == null) {
        throw new NullPointerException("Table must not be null.");
    }

    final JComponent component;
    final SortableTableModel model = (SortableTableModel) table.getModel();
    final int cc = table.convertColumnIndexToModel(column);
    final boolean isSorting = (model.getSortingColumn() == cc);
    final boolean isAscending = model.isAscending();

    final JTableHeader header = table.getTableHeader();
    final boolean isPressed = (cc == this.pressedColumn);

    if (this.useLabels) {
        final JLabel label = getRendererLabel(isSorting, isAscending);
        label.setText((value == null) ? "" : value.toString());
        component = label;
    }
    else {
        final JButton button = getRendererButton(isSorting, isAscending);
        button.setText((value == null) ? "" : value.toString());
        button.getModel().setPressed(isPressed);
        button.getModel().setArmed(isPressed);
        component = button;
    }

    if (header != null) {
        component.setForeground(header.getForeground());
        component.setBackground(header.getBackground());
        component.setFont(header.getFont());
    }
    return component;
}
 
源代码20 项目: seaglass   文件: SeaGlassTableHeaderUI.java
/**
 * @see com.seaglasslookandfeel.ui.SeaGlassTableHeaderUI$DefaultTableCellHeaderRenderer#getTableCellRendererComponent(javax.swing.JTable,
 *      java.lang.Object, boolean, boolean, int, int)
 */
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row,
        int column) {
    boolean hasRollover = false; // (column == getRolloverColumn());

    if (isSelected || hasRollover || hasFocus) {
        SeaGlassLookAndFeel.setSelectedUI((SeaGlassLabelUI) SeaGlassLookAndFeel.getUIOfType(getUI(), SeaGlassLabelUI.class),
                                          isSelected, hasFocus, table.isEnabled(), hasRollover);
    } else {
        SeaGlassLookAndFeel.resetSelectedUI();
    }

    // Stuff a variable into the client property of this renderer
    // indicating the sort order, so that different rendering can be
    // done for the header based on sorted state.
    RowSorter                                   rs       = table == null ? null : table.getRowSorter();
    java.util.List<? extends RowSorter.SortKey> sortKeys = rs == null ? null : rs.getSortKeys();

    if (sortKeys != null && sortKeys.size() > 0 && sortKeys.get(0).getColumn() == table.convertColumnIndexToModel(column)) {
        switch (sortKeys.get(0).getSortOrder()) {

        case ASCENDING:
            putClientProperty("Table.sortOrder", "ASCENDING");
            break;

        case DESCENDING:
            putClientProperty("Table.sortOrder", "DESCENDING");
            break;

        case UNSORTED:
            putClientProperty("Table.sortOrder", "UNSORTED");
            break;

        default:
            throw new AssertionError("Cannot happen");
        }
    } else {
        putClientProperty("Table.sortOrder", "UNSORTED");
    }

    super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

    return this;
}
 
 方法所在类
 同类方法