@Override public void tableChanged(TableModelEvent arg0) { lblMovieCountFiltered.setText(String.valueOf(movieTableModel.getRowCount())); // select first movie if nothing is selected ListSelectionModel selectionModel = table.getSelectionModel(); if (selectionModel.isSelectionEmpty() && movieTableModel.getRowCount() > 0) { selectionModel.setSelectionInterval(0, 0); } if (selectionModel.isSelectionEmpty() && movieTableModel.getRowCount() == 0) { movieSelectionModel.setSelectedMovie(null); } } });
@Override public void tableChanged(TableModelEvent arg0) { // select first movie if nothing is selected ListSelectionModel selectionModel = tableMovies.getSelectionModel(); if (selectionModel.isSelectionEmpty() && movieTableModel.getRowCount() > 0) { selectionModel.setSelectionInterval(0, 0); } if (selectionModel.isSelectionEmpty() && movieTableModel.getRowCount() == 0) { resultSelectionModel.setSelectedResult(null); } } });
/** {@inheritDoc} */ @Override public void valueChanged(final ListSelectionEvent e) { if (e.getValueIsAdjusting()) { for (int row = e.getFirstIndex(); row <= e.getLastIndex(); row++) { if (this.isRowSelected(row)) { if (!selectedRows.contains(row)) { selectedRows.add(row); } } else { if (selectedRows.contains(row)) { selectedRows.remove(selectedRows.indexOf(row)); } } } } if (!selectedRows.isEmpty() && selectedRows.get(selectedRows.size() - 1) < getEventTableModel().getRowCount() && (getEventTableModel().getElementAt(selectedRows.get(selectedRows.size() - 1)) instanceof SeparatorList.Separator)) { setAutoscrolls(false); } else { setAutoscrolls(true); } super.valueChanged(e); }
private void autoResizeRows() { if (isLocked()) { return; } for (int row = 0; row < getEventTableModel().getRowCount(); row++) { autoResizeRow(row, getRowHeight()); } }
private void autoResizeRow(final int row, int defaultHeight) { if (row < 0 || row > getEventTableModel().getRowCount()) { return; } int height = 0; final Object rowValue = getEventTableModel().getElementAt(row); if (rowValue instanceof SeparatorList.Separator) { //Calculate the Separator row height //This is done every time, because Separator can never be identified 100% //Because elements is changed by filters and sorting //If saved: the list keep growing with useless hash keys Component component = separatorRenderer.getTableCellRendererComponent(this, getValueAt(row, 0), false, false, row, 0); height = component.getPreferredSize().height; } else { //Calculate the row height height = defaultHeight; } //Set row height, if needed (is expensive because repaint is needed) if (this.getRowHeight(row) != height) { this.setRowHeight(row, height); } }
/** {@inheritDoc} */ @Override public Rectangle getCellRect(final int row, final int column, final boolean includeSpacing) { final DefaultEventTableModel<?> eventTableModel = getEventTableModel(); // sometimes JTable asks for a cellrect that doesn't exist anymore, due // to an editor being installed before a bunch of rows were removed. // In this case, just return an empty rectangle, since it's going to // be discarded anyway if (row >= eventTableModel.getRowCount() || row < 0) { return new Rectangle(); } // if it's the separator row, return the entire row as one big rectangle Object rowValue = eventTableModel.getElementAt(row); if (rowValue instanceof SeparatorList.Separator) { Rectangle firstColumn = super.getCellRect(row, 0, includeSpacing); Rectangle lastColumn = super.getCellRect(row, getColumnCount() - 1, includeSpacing); return firstColumn.union(lastColumn); // otherwise it's business as usual } else { return super.getCellRect(row, column, includeSpacing); } }
public final void afterUpdateData() { if (eventSelectionModel != null && eventTableModel != null && selected != null) { eventSelectionModel.setValueIsAdjusting(true); for (int i = 0; i < eventTableModel.getRowCount(); i++) { Object object = eventTableModel.getElementAt(i); if (selected.contains(object)) { eventSelectionModel.addSelectionInterval(i, i); } } eventSelectionModel.setValueIsAdjusting(false); selected = null; } if (selectedColumns != null) { for (int index : selectedColumns) { jTable.getColumnModel().getSelectionModel().addSelectionInterval(index, index); } } if (jTable != null) { jTable.unlock(); } if (jTable instanceof JSeparatorTable) { JSeparatorTable jSeparatorTable = (JSeparatorTable) jTable; jSeparatorTable.loadExpandedState(); } }
final boolean baseObjectHasNotMoved = row < getRowCount() && source.get(row) == baseObject;
final boolean baseObjectHasNotMoved = row < getRowCount() && source.get(row) == baseObject;
final boolean baseObjectHasNotMoved = row < getRowCount() && source.get(row) == baseObject;
lblMovieCountFiltered.setText(String.valueOf(movieTableModel.getRowCount()));