微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javax.swing.RowSorter.SortKey的实例源码

项目:AgentWorkbench    文件TimeSeriesTableModel.java   
@Override
public void rebuildTableModel() {

    SortKey sortKey = this.getSortKey();

    columnTitles.clear();
    columnTitles.add(DEFAULT_TIME_COLUMN_TITLE);

    // Remember the current width of the table columns
    Vector<Integer> columnWidths = this.getColumnWidths();

    // Rebuild the table model
    this.tableModelDataVector = new TableModelDataVector(TimeSeries.class.getSimpleName(),this.tableModelDataVector.isActivateRowNumber(),this.tableModelDataVector.getKeyColumnIndex());
    List chartDataSeries = this.parentDataModel.getontologyModel().getChartData();
    for (int i = 0; i < chartDataSeries.size(); i++) {
        DataSeries chartData = (DataSeries) chartDataSeries.get(i);
        this.addSeries(chartData,false);
    }

    // Set the width of the columns like before
    this.setColumnWidths(columnWidths);

    this.setSortKey(sortKey);
}
项目:smile_1.5.0_java7    文件DefaultTableHeaderCellRenderer.java   
/**
 * Overloaded to return an icon suitable to the primary sorted column,or
 * null if the column is not the primary sort key.
 *
 * @param table the <code>JTable</code>.
 * @param column the column index.
 * @return the sort icon,or null if the column is unsorted.
 */
protected Icon getIcon(JTable table,int column) {
    SortKey sortKey = getSortKey(table,column);
    if (sortKey != null && table.convertColumnIndexToView(sortKey.getColumn()) == column) {
        switch (sortKey.getSortOrder()) {
            case ASCENDING:
                return UIManager.getIcon("Table.ascendingSortIcon");
            case DESCENDING:
                return UIManager.getIcon("Table.descendingSortIcon");

            default:
                // Just to remove unmatched case warning
        }
    }
    return null;
}
项目:finances    文件TransactionsPanel.java   
public void setSelectedAccount(Account account) {
    if (this.selectedAccount == null || ! this.selectedAccount.getId().equals(account.getId())) {
        this.selectedAccount = account;
        setTitle(account);
        transactionTable.getModel().removeTableModelListener(tableModelListener);
        transactionTable.getModel().removePropertychangelistener(TransactionTableModel.NEW_TRANSACTION_PAYEE_PROPERTY,payeechangelistener);
        TransactionTableModel newModel = transactionModelCache.getModel(account);
        transactionTable.setModel(newModel);
        transactionTable.getRowSorter().setSortKeys(Collections.singletonList(new SortKey(0,SortOrder.ASCENDING)));
        newModel.addTableModelListener(tableModelListener);
        newModel.addPropertychangelistener(TransactionTableModel.NEW_TRANSACTION_PAYEE_PROPERTY,payeechangelistener);
        ComponentBinder.bind(newModel,TransactionTableModel.CLEARED_BALANCE_PROPERTY,newModel.getClearedBalance(),clearedBalance,currencyFormat);
        if (transactionTable.getModel().getBeans().isEmpty()) {
            refreshAction.actionPerformed(new ActionEvent(this,RefreshAction.INITIAL_LOAD_ACTION_ID,null));
        }
        else {
            transactionTable.selectLastTransaction();
        }
        firePropertyChange(ACCOUNT_PROPERTY,null,selectedAccount);
    }
}
项目:finances    文件AccountSecuritiesPanel.java   
public AccountSecuritiesPanel(ServiceLocator serviceLocator,DomainEventPublisher domainEventPublisher,Iterable<SecurityTableExtension> tableExtensions,FinanceTableFactory tableFactory,WindowEventPublisher<WindowType> windowEventPublisher) {
        this.assetoperations = serviceLocator.getAssetoperations();
        this.windowEventPublisher = windowEventPublisher;
        AccountSecurityTableModel tableModel = new AccountSecurityTableModel(domainEventPublisher,tableExtensions);
        table = tableFactory.createTable(tableModel);
        Sectiontablerowsorter<SecuritySummary,AccountSecurityTableModel> sorter = new Sectiontablerowsorter<>(table);
        sorter.setRowFilter(SecuritySummary::isNotEmpty);
        sorter.setSortKeys(Lists.newArrayList(new SortKey(AccountSecurityTableModel.NAME_INDEX,SortOrder.ASCENDING)));
        table.setRowSorter(sorter);
        reloadAction = new ReloadActionHandler();
        setLayout(new BorderLayout());
        add(BorderLayout.CENTER,new JScrollPane(table));
//        for (SecurityTableExtension extension : tableExtensions) {
//            if (extension instanceof TableSummary) {
//                addSummaries((TableSummary) extension);
//            }
//        }
        reloadHandler = new ReloadEventHandler<>(this,RELOAD_MESSAGE_KEY,assetoperations::getSecuritySummariesByAccount,this::getTableModel,SecuritySummary::isSameIds);
        domainEventPublisher.register(SecuritySummary.class,reloadHandler);
    }
项目:finances    文件TransactiontablerowsorterTest.java   
@Test
public void newTransactionAlwaysLast() throws Exception {
    TransactionTableModel model = new TransactionTableModel(new Account(1L));
    TransactionTable table = new TransactionTable(model);
    model.addBean(newTransaction(1L));
    model.addBean(newTransaction(null));
    model.addBean(newTransaction(2L));
    Transactiontablerowsorter sorter = new Transactiontablerowsorter(table);
    sorter.setSortKeys(Collections.singletonList(new SortKey(1,SortOrder.ASCENDING)));

    assertthat(sorter.convertRowIndexToView(0)).isEqualTo(0);
    assertthat(sorter.convertRowIndexToView(1)).isEqualTo(1);
    assertthat(sorter.convertRowIndexToView(4)).isEqualTo(2);
    assertthat(sorter.convertRowIndexToView(5)).isEqualTo(3);
    assertthat(sorter.convertRowIndexToView(2)).isEqualTo(4);
    assertthat(sorter.convertRowIndexToView(3)).isEqualTo(5);

    sorter.toggleSortOrder(1);

    assertthat(sorter.convertRowIndexToView(0)).isEqualTo(2);
    assertthat(sorter.convertRowIndexToView(1)).isEqualTo(3);
    assertthat(sorter.convertRowIndexToView(4)).isEqualTo(0);
    assertthat(sorter.convertRowIndexToView(5)).isEqualTo(1);
    assertthat(sorter.convertRowIndexToView(2)).isEqualTo(4);
    assertthat(sorter.convertRowIndexToView(3)).isEqualTo(5);
}
项目:scelight    文件JavaSysPropsPage.java   
@Override
public JComponent createPageComp() {
    final borderpanel p = new borderpanel();

    final XTable table = new XTable();

    final Vector< Vector< Object > > data = new Vector<>();

    final Properties props = System.getProperties();
    // Use name enumeration which properly returns names from the default properties of a property
    // (while HashTable.entrySet() does not!).
    final Enumeration< ? > nameEnum = props.propertyNames();
    while ( nameEnum.hasMoreElements() ) {
        final Object name = nameEnum.nextElement();
        data.add( Utils.vector( name,props.getProperty( name.toString() ) ) );
    }

    table.getXTableModel().setDataVector( data,Utils.vector( "Property name","Property value" ) );
    table.getRowSorter().setSortKeys( Arrays.asList( new SortKey( 0,SortOrder.ASCENDING ) ) );
    table.packColumnsExceptLast();

    p.addCenter( table.createWrapperBox( true,table.createtoolBarParams( p ) ) );

    return p;
}
项目:AutoAnnotateApp    文件ClusterPanel.java   
private void updateClusterTable() {
    int index = annotationSetCombo.getSelectedindex();
    AnnotationSet annotationSet = annotationSetCombo.getItemAt(index).getValue();
    ClusterTableModel clusterModel = new ClusterTableModel(annotationSet);

    int widths[] = getColumnWidths(clusterTable);
    clusterTable.setModel(clusterModel);
    setColumnWidths(clusterTable,widths);
    TableColumn collapsedColumn = clusterTable.getColumnModel().getColumn(ClusterTableModel.COLLAPSED_COLUMN_INDEX);
    collapsedColumn.setCellRenderer(new ClusterTableCollapsedCellRenderer(iconManager));


    // sort
    tablerowsorter<TableModel> sorter = new tablerowsorter<>(clusterTable.getModel());
    clusterTable.setRowSorter(sorter);
    List<SortKey> sortKeys = new ArrayList<>(2);
    sortKeys.add(new RowSorter.sortKey(ClusterTableModel.NODES_COLUMN_INDEX,SortOrder.DESCENDING));
    sortKeys.add(new RowSorter.sortKey(ClusterTableModel.CLUSTER_COLUMN_INDEX,SortOrder.ASCENDING));
    sorter.setSortKeys(sortKeys);
    sorter.sort();
}
项目:swingx    文件JXTable.java   
/**
 * Returns the primary sort column,or null if nothing sorted or no sortKey
 *   corresponds to a TableColumn currently contained in the TableColumnModel.
 * 
 * @return the currently interactively sorted TableColumn or null if there
 *         is not sorter active or if the sorted column index does not
 *         correspond to any column in the TableColumnModel.
 */
public TableColumn getSortedColumn() {
    // bloody hack: get primary SortKey and
    // check if there's a column with it available
    RowSorter<?> controller = getRowSorter();
    if (controller != null) {
        // PENDING JW: must use RowSorter?
        SortKey sortKey = SortUtils.getFirstSortingKey(controller
                .getSortKeys());
        if (sortKey != null) {
            int sorterColumn = sortKey.getColumn();
            List<TableColumn> columns = getColumns(true);
            for (Iterator<TableColumn> iter = columns.iterator(); iter
                    .hasNext();) {
                TableColumn column = iter.next();
                if (column.getModelIndex() == sorterColumn) {
                    return column;
                }
            }

        }
    }
    return null;
}
项目:swingx    文件XProperties.java   
public Object getSessionState(Component c) {
    checkComponent(c);
    JXTable table = (JXTable) c;
    List<ColumnState> columnStates = new ArrayList<ColumnState>();
    List<TableColumn> columns = table.getColumns(true);
    List<TableColumn> visibleColumns = table.getColumns();
    for (TableColumn column : columns) {
        columnStates.add(new ColumnState((TableColumnExt) column,visibleColumns.indexOf(column)));
    }
    XTableState tableState = new XTableState(columnStates.toArray(new ColumnState[columnStates.size()]));
    tableState.setHorizontalScrollEnabled(table.isHorizontalScrollEnabled());
    List<? extends SortKey> sortKeys = null;
    if (table.getRowSorter() != null) {
        sortKeys = table.getRowSorter().getSortKeys();
    }
    // PENDING: store all!
    if ((sortKeys != null) && (sortKeys.size() >0)) {
        tableState.setSortKey(sortKeys.get(0));
    }
    return tableState;
}
项目:dsworkbench    文件SortableTableHeaderRenderer.java   
@Override
public Component getTableCellRendererComponent(JTable table,Object value,boolean isSelected,boolean hasFocus,int row,int column) {
    Component c = super.getTableCellRendererComponent(table,value,isSelected,hasFocus,row,column);
    c.setBackground(Constants.DS_BACK);
    DefaultTableCellRenderer r = ((DefaultTableCellRenderer) c);
    r.setText("<html><b>" + r.getText() + "</b></html>");
    try {
        List<? extends SortKey> sortKeys = table.getRowSorter().getSortKeys();
        SortKey key = sortKeys.get(0);
        if (column == key.getColumn()) {
            r.setIcon(key.getSortOrder() == SortOrder.ASCENDING ? ascIcon : descIcon);
        } else {
            r.setIcon(null);
        }
    } catch (Exception e) {
        r.setIcon(null);
    }
    return r;
}
项目:Metasfresh    文件CTableModelRowSorter.java   
public List<SortKey> getSortKeys()
{
    if (sortIndexes2Direction.isEmpty())
    {
        return Collections.emptyList();
    }

    final List<SortKey> sortKeys = new ArrayList<>(sortIndexes2Direction.size());
    for (final Map.Entry<Integer,Boolean> e : sortIndexes2Direction.entrySet())
    {
        final int modelColumnIndex = e.getKey();
        final SortOrder sortOrder = getSortOrderOfBooleanAscendingFlag(e.getValue());
        final SortKey sortKey = new SortKey(modelColumnIndex,sortOrder);
        sortKeys.add(sortKey);
    }

    return sortKeys;
}
项目:Metasfresh    文件CTableModelRowSorter.java   
public final void setSortKeys(final List<? extends SortKey> sortKeys)
{
    sortIndexes2Direction.clear();
    if (sortKeys == null || sortKeys.isEmpty())
    {
        return;
    }

    for (final SortKey sortKey : sortKeys)
    {
        final int modelColumnIndex = sortKey.getColumn();
        final Boolean isSortAscending = getSortAscendingFlagOfSortOrder(sortKey.getSortOrder());
        if (isSortAscending == null)
        {
            continue;
        }

        sortIndexes2Direction.put(modelColumnIndex,isSortAscending);
    }
}
项目:minimal-j    文件SwingTable.java   
@Override
    public void sorterChanged(RowSorterEvent e) {
        if (e.getType() == Type.soRT_ORDER_CHANGED) {
@SuppressWarnings("unchecked")
List<? extends SortKey> sortKeys = e.getSource().getSortKeys();
            Object[] keys = new Object[sortKeys.size()];
            boolean[] directions = new boolean[sortKeys.size()];
            int index = 0;
            for (SortKey s : sortKeys) {
                keys[index] = SwingTable.this.keys[s.getColumn()];
                directions[index] = s.getSortOrder() == SortOrder.ASCENDING;
                index++;
            }
            if (list instanceof Sortable) {
                ((Sortable) list).sort(keys,directions);
            }
            setoffset(0);
        }
    }
项目:platypus-js    文件TabularRowsSorter.java   
public int compareRows(int row1,int row2) {
    int order = 0;
    for (int i = 0; i < criteria.size(); i++) {
        SortKey key = criteria.get(i);
        if (key.getSortOrder() != SortOrder.UNSORTED) {
            Object o1 = model.getValueAt(row1,key.getColumn());
            Object o2 = model.getValueAt(row2,key.getColumn());
            if (o1 instanceof Comparable<?> && o2 instanceof Comparable<?>) {
                Comparable<Object> c1 = (Comparable<Object>) o1;
                Comparable<Object> c2 = (Comparable<Object>) o2;
                order = c1.compareto(c2);
            } else if (o1 == null && o2 != null) {
                order = 1;
            } else if (o1 != null && o2 == null) {
                order = -1;
            }
            order = key.getSortOrder() == SortOrder.DESCENDING ? -order : order;
            if (order != 0) {
                break;
            }
        }
    }
    return order;
}
项目:platypus-js    文件RowsMovementsTest.java   
@Test
public void sortByFirstModelColumntest() throws Exception {
    int fixedRows = 2;
    int fixedCols = 3;
    LinearInset rowsInset = new LinearInset(1,1);
    LinearInset columnsInset = new LinearInset(1,1);
    ConfResult conf = beginSortedVisual(fixedRows,fixedCols,rowsInset,columnsInset);
    for (int i = 1; i < conf.tlTable.getRowCount(); i++) {
        assertEquals(new Long(i),(Long)conf.tlTable.getValueAt(i,1));
    }
    for (int i = 0; i < conf.blTable.getRowCount() - 1; i++) {
        assertEquals(new Long(i + conf.tlTable.getRowCount()),(Long)conf.blTable.getValueAt(i,1));
    }
    SortKey sk = new SortKey(0/*in terms of the model,not the view*/,SortOrder.DESCENDING);
    List<SortKey> keys = new ArrayList<>();
    keys.add(sk);
    conf.tlTable.getRowSorter().setSortKeys(keys);
    Long k = 7l;
    for (int i = 1; i < conf.tlTable.getRowCount(); i++) {
        assertEquals(k--,1));
    }
    for (int i = 0; i < conf.blTable.getRowCount() - 1; i++) {
        assertEquals(k--,1));
    }
    endVisual();
}
项目:jClipCorn    文件ClipTable.java   
private void initialSort() {
    @SuppressWarnings("unchecked")
    tablerowsorter<ClipTableModel> sorter = ((tablerowsorter<ClipTableModel>)table.getRowSorter());
    List<SortKey> list = new ArrayList<>(); 

    switch (CCProperties.getInstance().PROP_VIEW_DB_START_SORT.getValue()) {
    case LOCALID:
        //DO nothing
        return;
    case TITLE:
        list.add( new RowSorter.sortKey(ClipTableModel.COLUMN_TITLE,SortOrder.ASCENDING) );
        break;
    case ADDDATE:
        list.add( new RowSorter.sortKey(ClipTableModel.COLUMN_DATE,SortOrder.DESCENDING) );
        break;
    }

    sorter.setSortKeys(list);
    sorter.sort();
}
项目:jClipCorn    文件ExtendedSettingsFrame.java   
private void finalizeGUI() {
    if (! LookAndFeelManager.isSubstance()) {
        edname.setBackground(Color.WHITE);
    }
    if (! LookAndFeelManager.isSubstance()) {
        edTyp.setBackground(Color.WHITE);
    }

    lsModel = new SettingsTableModel(properties); // $hide$
    rowsorter = new tablerowsorter<>();
    rowsorter.setModel(lsModel);
    List<SortKey> sk = new ArrayList<>();
    sk.add( new RowSorter.sortKey(0,SortOrder.ASCENDING) );
    rowsorter.setSortKeys(sk);
    rowsorter.sort();

    tabSettings.setModel(lsModel);
    tabSettings.setRowSorter(rowsorter);

    tabSettings.getColumnModel().getColumn(0).setPreferredWidth(getWidth()*2/3);
    tabSettings.getColumnModel().getColumn(1).setPreferredWidth(getWidth()*1/3);

    tabSettings.getSelectionModel().addListSelectionListener(this);
    tabSettings.getColumnModel().getColumn(1).setCellEditor(lsEditor = new SettingsTableEditor(properties));
}
项目:edacc_gui    文件EDACCCourse.java   
private void btnColumnsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FirsT:event_btnColumnsActionPerformed
    List<SortKey> sortKeys = (List<SortKey>) tblInstanceSeed.getRowSorter().getSortKeys();
    List<String> columnNames = new ArrayList<String>();
    for (SortKey sk : sortKeys) {
        columnNames.add(tblInstanceSeed.getColumnName(tblInstanceSeed.convertColumnIndexToView(sk.getColumn())));
    }
    EDACCInstanceColumnSelection dialog = new EDACCInstanceColumnSelection(EDACCApp.getApplication().getMainFrame(),true,selector,InstanceTableModel.COL_PROP + 1);
    dialog.setLocationRelativeto(EDACCApp.getApplication().getMainFrame());
    dialog.setVisible(true);
    List<SortKey> newSortKeys = new ArrayList<SortKey>();
    for (int k = 0; k < columnNames.size(); k++) {
        String col = columnNames.get(k);
        for (int i = 0; i < tblInstanceSeed.getColumnCount(); i++) {
            if (tblInstanceSeed.getColumnName(i).equals(col)) {
                newSortKeys.add(new SortKey(tblInstanceSeed.convertColumnIndexToModel(i),sortKeys.get(k).getSortOrder()));
            }
        }
    }
    tblInstanceSeed.getRowSorter().setSortKeys(newSortKeys);
    edacc.experiment.Util.updateTableColumnWidth(tblInstanceSeed);
}
项目:edacc_gui    文件EDACCExperimentModeClientDialog.java   
private void btnbrowserColumnSelectionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FirsT:event_btnbrowserColumnSelectionActionPerformed
    List<SortKey> sortKeys = (List<SortKey>) tblJobs.getRowSorter().getSortKeys();
    List<String> columnNames = new ArrayList<String>();
    for (SortKey sk : sortKeys) {
        columnNames.add(tblJobs.getColumnName(tblJobs.convertColumnIndexToView(sk.getColumn())));
    }
    EDACCResultsbrowserColumnSelection dialog = new EDACCResultsbrowserColumnSelection(EDACCApp.getApplication().getMainFrame(),jobsColumnSelector,jobsTableModel);
    dialog.setLocationRelativeto(EDACCApp.getApplication().getMainFrame());
    dialog.setVisible(true);
    List<SortKey> newSortKeys = new ArrayList<SortKey>();
    for (int k = 0; k < columnNames.size(); k++) {
        String col = columnNames.get(k);
        for (int i = 0; i < tblJobs.getColumnCount(); i++) {
            if (tblJobs.getColumnName(i).equals(col)) {
                newSortKeys.add(new SortKey(tblJobs.convertColumnIndexToModel(i),sortKeys.get(k).getSortOrder()));
            }
        }
    }
    tblJobs.getRowSorter().setSortKeys(newSortKeys);
    Util.updateTableColumnWidth(tblJobs);        
}
项目:edacc_gui    文件EDACCManageDBMode.java   
private void btnSelectInstanceColumnsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FirsT:event_btnSelectInstanceColumnsActionPerformed
    instanceTableModel.updateProperties();
    List<SortKey> sortKeys = (List<SortKey>) tableInstances.getRowSorter().getSortKeys();
    List<String> columnNames = new ArrayList<String>();
    for (SortKey sk : sortKeys) {
        columnNames.add(tableInstances.getColumnName(tableInstances.convertColumnIndexToView(sk.getColumn())));
    }
    EDACCManageInstanceColumnSelection dialog = new EDACCManageInstanceColumnSelection(EDACCApp.getApplication().getMainFrame(),instanceTableModel);
    dialog.setLocationRelativeto(EDACCApp.getApplication().getMainFrame());
    dialog.setVisible(true);
    List<SortKey> newSortKeys = new ArrayList<SortKey>();
    for (int k = 0; k < columnNames.size(); k++) {
        String col = columnNames.get(k);
        for (int i = 0; i < tableInstances.getColumnCount(); i++) {
            if (tableInstances.getColumnName(i).equals(col)) {
                newSortKeys.add(new SortKey(tableInstances.convertColumnIndexToModel(i),sortKeys.get(k).getSortOrder()));
            }
        }
    }
    tableInstances.getRowSorter().setSortKeys(newSortKeys);
    edacc.experiment.Util.updateTableColumnWidth(tableInstances);
    instanceTableModel.fireTableDataChanged();
    instanceTableModel.updateProperties();
    tableInstances.updateUI();
}
项目:edacc_gui    文件EDACCExperimentMode.java   
private void btnbrowserColumnSelectionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FirsT:event_btnbrowserColumnSelectionActionPerformed
    updateJobbrowserProperties();

    List<SortKey> sortKeys = (List<SortKey>) tableJobs.getRowSorter().getSortKeys();
    List<String> columnNames = new ArrayList<String>();
    for (SortKey sk : sortKeys) {
        columnNames.add(tableJobs.getColumnName(tableJobs.convertColumnIndexToView(sk.getColumn())));
    }
    EDACCResultsbrowserColumnSelection dialog = new EDACCResultsbrowserColumnSelection(EDACCApp.getApplication().getMainFrame(),jobsTableModel);
    dialog.setLocationRelativeto(EDACCApp.getApplication().getMainFrame());
    dialog.setVisible(true);
    List<SortKey> newSortKeys = new ArrayList<SortKey>();
    for (int k = 0; k < columnNames.size(); k++) {
        String col = columnNames.get(k);
        for (int i = 0; i < tableJobs.getColumnCount(); i++) {
            if (tableJobs.getColumnName(i).equals(col)) {
                newSortKeys.add(new SortKey(tableJobs.convertColumnIndexToModel(i),sortKeys.get(k).getSortOrder()));
            }
        }
    }
    tableJobs.getRowSorter().setSortKeys(newSortKeys);
    Util.updateTableColumnWidth(tableJobs);
}
项目:jdal    文件PageableTable.java   
/**
 * Configure sort and order in page from sorter
 */
private void configurePage() {
    Page.Order order = Page.Order.ASC;
    String sortPropertyName = null;
    List<? extends SortKey> keys = sorter.getSortKeys();
    // If sorting,get values to set in page
    if (keys.size() > 0) {
        RowSorter.sortKey key = sorter.getSortKeys().get(0);
        if (tableModel.isPropertyColumn(key.getColumn())) {
            sortPropertyName = tableModel.getSortPropertyName(key.getColumn());
            order = converSortOrder(key);
        }

    }
    page.setSortName(sortPropertyName);
    page.setorder(order);
}
项目:JRLib    文件SubstanceTableuI.java   
private boolean isSameSorter(List<? extends SortKey> sortKeys1,List<? extends SortKey> sortKeys2) {
    int size1 = (sortKeys1 == null) ? 0 : sortKeys1.size();
    int size2 = (sortKeys2 == null) ? 0 : sortKeys2.size();
    if ((size1 == 0) && (size2 == 0)) {
        return true;
    }
    if ((sortKeys1 == null) && (sortKeys2 == null))
        return true;
    if ((sortKeys1 == null) || (sortKeys2 == null))
        return false;
    if (size1 != size2)
        return false;
    for (int i = 0; i < size1; i++) {
        SortKey sortKey1 = sortKeys1.get(i);
        SortKey sortKey2 = sortKeys2.get(i);
        if ((sortKey1.getColumn() != sortKey2.getColumn())
                || (sortKey1.getSortOrder() != sortKey2.getSortOrder())) {
            return false;
        }
    }
    return true;
}
项目:JRLib    文件SubstanceTableuI.java   
@SuppressWarnings("unchecked")
public void valueChanged(final ListSelectionEvent e) {
    // fix for issue 478 - no animations when sorter has changed
    List<? extends SortKey> sortKeys = (table.getRowSorter() == null) ? null
            : table.getRowSorter().getSortKeys();
    boolean isDifferentSorter = !isSameSorter(sortKeys,oldSortKeys);
    if (e.getValueIsAdjusting() && isDifferentSorter)
        return;
    if (sortKeys == null) {
        oldSortKeys = null;
    } else {
        oldSortKeys = new ArrayList<SortKey>();
        for (SortKey sortKey : sortKeys) {
            SortKey copy = new SortKey(sortKey.getColumn(),sortKey.getSortOrder());
            oldSortKeys.add(copy);
        }
    }
    syncSelection(isDifferentSorter);
}
项目:AgentWorkbench    文件TimeSeriesTableModel.java   
/**
     * Removes a time series from the table model
     * @param seriesIndex The index of the series to be removed
     * @throws NoSuchSeriesException Will be thrown if there is no series with the specified index
     */
    public void removeSeries(int seriesIndex) throws NoSuchSeriesException {

        SortKey sortKey = this.getSortKey();

        if (this.getColumnCount()==2) {
            // --- The last series has to be removed ------
            this.initilizeTabelModel();

        } else {
            int column2remove = seriesIndex+1;  // Column 0 contains the time stamps
            if(column2remove <= this.getColumnCount()){
                columnTitles.remove(column2remove);
                java.util.Iterator<Vector<Number>> rows = tableModelDataVector.iterator();
                while(rows.hasNext()){
                    rows.next().remove(column2remove);
                }
            }
//          else{
//              throw new NoSuchSeriesException();
//          }

        }
        fireTableStructureChanged();

        if(this.getColumnCount() > 0){
            this.setSortKey(sortKey);
        }
    }
项目:AgentWorkbench    文件TimeSeriesTableModel.java   
private void setSortKey(SortKey sortKey){
    if(sortKey != null){
        Vector<SortKey> keyvector = new Vector<SortKey>();
        keyvector.addElement(sortKey);
        myJTable.getRowSorter().setSortKeys(keyvector);
    }
}
项目:rapidminer    文件TableHeaderUI.java   
@Override
public Icon getIcon() {
    int modelCol = header.getTable().convertColumnIndexToModel(curCol);
    TableModel model = header.getTable().getModel();
    if (model instanceof ExtendedJTableSorterModel) {
        ExtendedJTableSorterModel sortModel = (ExtendedJTableSorterModel) model;
        switch (sortModel.getSortingStatus(modelCol)) {
            case ExtendedJTableSorterModel.ASCENDING:
                return UIManager.getIcon("Table.ascendingSortIcon");
            case ExtendedJTableSorterModel.DESCENDING:
                return UIManager.getIcon("Table.descendingSortIcon");
            case ExtendedJTableSorterModel.NOT_SORTED:
            default:
                return null;
        }
    } else {
        SortKey sortKey = getSortKey(header.getTable().getRowSorter(),modelCol);
        SortOrder sortOrder = sortKey != null ? sortKey.getSortOrder() : SortOrder.UNSORTED;
        switch (sortOrder) {
            case ASCENDING:
                return UIManager.getIcon("Table.ascendingSortIcon");
            case DESCENDING:
                return UIManager.getIcon("Table.descendingSortIcon");
            case UNSORTED:
            default:
                return null;
        }
    }
}
项目:rapidminer    文件TableHeaderUI.java   
/**
 * Tries to return the sort key for the given column.
 *
 * @param sorter
 * @param column
 * @return the sort key or {@code null}
 */
private SortKey getSortKey(RowSorter<? extends TableModel> sorter,int column) {
    if (sorter == null) {
        return null;
    }

    for (Object sortObj : sorter.getSortKeys()) {
        SortKey key = (SortKey) sortObj;
        if (key.getColumn() == column) {
            return key;
        }
    }
    return null;
}
项目:smile_1.5.0_java7    文件DefaultTableHeaderCellRenderer.java   
/**
 * Returns the current sort key,or null if the column is unsorted.
 *
 * @param table the table
 * @param column the column index
 * @return the SortKey,or null if the column is unsorted
 */
@SuppressWarnings("rawtypes")
protected SortKey getSortKey(JTable table,int column) {
    RowSorter rowSorter = table.getRowSorter();
    if (rowSorter == null) {
        return null;
    }

    List sortedColumns = rowSorter.getSortKeys();
    if (!sortedColumns.isEmpty()) {
        return (SortKey) sortedColumns.get(0);
    }
    return null;
}
项目:scelight    文件RepListColumnSetupDialog.java   
/**
 * Rebuilds the table.
 */
private void rebuildTable() {
    table.saveSelection( classColIdx );

    final XTableModel model = table.getXTableModel();

    model.getDataVector().clear();
    model.fireTableDataChanged();

    for ( final Class< ? extends IColumn< ? > > colClass : RepListColumnRegistry.COLUMN_LIST ) {
        final boolean isCustom = BaseCustomColumn.class.isAssignableFrom( colClass );

        // Only show custom columns if skill level is met
        if ( isCustom && Settings.REP_LIST_CUST_COL_1_NAME.skillLevel.isBelow() )
            continue;

        final IColumn< ? > column = RepListColumnRegistry.getColumnInstance( colClass );
        if ( column == null )
            continue;

        final int pos = rlcBean.getColumnClassList().indexOf( colClass ) + 1;
        final Vector< Object > row = Utils.< Object > asNewVector( colClass,pos > 0 ? pos : -1,column.getRicon(),column.getdisplayName(),pos > 0,isCustom,column.getDescription() );
        model.addRow( row );
    }

    table.getRowSorter().setSortKeys( Arrays.asList( new SortKey( posColIdx,SortOrder.ASCENDING ) ) );

    // Pack all columns except the last Description column
    for ( int i = table.getColumnCount() - 1; i >= 0; i-- )
        if ( i != table.convertColumnIndexToView( descColIdx ) )
            table.packColumns( i );

    table.restoreSelection( classColIdx );
}
项目:LS-jsampler    文件AbstractInstrumentsDbTable.java   
private void
rowSorterChanged() {
    List<? extends SortKey> list = getRowSorter().getSortKeys();
    if(list.isEmpty()) return;
    SortKey k = list.get(0);
    int i = k.getColumn() + 1;
    if(k.getSortOrder() == SortOrder.UNSORTED) return;
    if(k.getSortOrder() == SortOrder.DESCENDING) i *= -1;
    preferences().setIntProperty(tablePrefix + "sortOrder",i);
}
项目:somado    文件TableFilters.java   
/**
 * Aktualizacja modelu tabeli w zwiazku ze zmianami filtrow
 */
private void doUpdate() {

   Map<String,String> params = getParams();

   // zachowanie kluczy sortowania
   List<? extends SortKey> sortKeys = objTable.getRowSorter().getSortKeys();
   // zmiana modelu
   objTable.setModel(tablePanel.getNewTableModel(params));
   // przywrocenie szerokosci kolumn i kluczy sortowania
   tablePanel.afterModelChange();
   objTable.getRowSorter().setSortKeys(sortKeys);

}
项目:rapidminer-studio    文件TableHeaderUI.java   
@Override
public Icon getIcon() {
    int modelCol = header.getTable().convertColumnIndexToModel(curCol);
    TableModel model = header.getTable().getModel();
    if (model instanceof ExtendedJTableSorterModel) {
        ExtendedJTableSorterModel sortModel = (ExtendedJTableSorterModel) model;
        switch (sortModel.getSortingStatus(modelCol)) {
            case ExtendedJTableSorterModel.ASCENDING:
                return UIManager.getIcon("Table.ascendingSortIcon");
            case ExtendedJTableSorterModel.DESCENDING:
                return UIManager.getIcon("Table.descendingSortIcon");
            case ExtendedJTableSorterModel.NOT_SORTED:
            default:
                return null;
        }
    } else {
        SortKey sortKey = getSortKey(header.getTable().getRowSorter(),modelCol);
        SortOrder sortOrder = sortKey != null ? sortKey.getSortOrder() : SortOrder.UNSORTED;
        switch (sortOrder) {
            case ASCENDING:
                return UIManager.getIcon("Table.ascendingSortIcon");
            case DESCENDING:
                return UIManager.getIcon("Table.descendingSortIcon");
            case UNSORTED:
            default:
                return null;
        }
    }
}
项目:rapidminer-studio    文件TableHeaderUI.java   
/**
 * Tries to return the sort key for the given column.
 *
 * @param sorter
 * @param column
 * @return the sort key or {@code null}
 */
private SortKey getSortKey(RowSorter<? extends TableModel> sorter,int column) {
    if (sorter == null) {
        return null;
    }

    for (Object sortObj : sorter.getSortKeys()) {
        SortKey key = (SortKey) sortObj;
        if (key.getColumn() == column) {
            return key;
        }
    }
    return null;
}
项目:mars-sim    文件DefaultTableHeaderCellRenderer.java   
/**
 * Overloaded to return an icon suitable to the primary sorted column,or null if
 * the column is not the primary sort key.
 *
 * @param table the <code>JTable</code>.
 * @param column the column index.
 * @return the sort icon,int column) {
  SortKey sortKey = getSortKey(table,column);
  if (sortKey != null && table.convertColumnIndexToView(sortKey.getColumn()) == column) {
    switch (sortKey.getSortOrder()) {
      case ASCENDING:
        return UIManager.getIcon("Table.ascendingSortIcon");
      case DESCENDING:
        return UIManager.getIcon("Table.descendingSortIcon");
    }
  }
  return null;
}
项目:mars-sim    文件DefaultTableHeaderCellRenderer.java   
/**
 * Returns the current sort key,or null if the column is unsorted
 */
protected SortKey getSortKey(JTable table,int column) {
  RowSorter rowSorter = table.getRowSorter();
  if (rowSorter == null) {
    return null;
  }

  List sortedColumns = rowSorter.getSortKeys();
  if (sortedColumns.size() > 0) {
    return (SortKey) sortedColumns.get(0);
  }
  return null;
}
项目:swingx    文件JXTable.java   
/**
 * Returns the view column index of the primary sort column. 
 * 
 * @return the view column index of the primary sort column or -1 if nothing
 * sorted or the primary sort column not visible.
 */
public int getSortedColumnIndex() {
    RowSorter<?> controller = getRowSorter();
    if (controller != null) {
        SortKey sortKey = SortUtils.getFirstSortingKey(controller.getSortKeys());
        if (sortKey != null) {
            return convertColumnIndexToView(sortKey.getColumn());
        }
    }
    return -1;
}
项目:swingx    文件JXTableunitTest.java   
/**
 * For comparison ...
 * 
 * Issue #1132-swingx: JXTable - define and implement behavIoUr on remove column
 */
@Test
public void testSortStateAfterRemoveColumn() {
    JTable table = new JTable();
    table.setautocreateRowSorter(true);
    table.setModel(new AncientSwingTeam());
    table.getRowSorter().toggleSortOrder(0);
    List<? extends SortKey> sortKeys = table.getRowSorter().getSortKeys();
    table.removeColumn(table.getColumnModel().getColumn(0));
    assertEquals(sortKeys,table.getRowSorter().getSortKeys());
}
项目:swingx    文件SortControllerIssues.java   
/**
 * Issue #1156-swingx: sorter must use comparable if available
 * ListSortController
 */
@Test
public void testComparableComparatorList() {
    ListModel model = new DefaultComboBoxModel(new Integer[] {10,2});
    ListSortController<ListModel> sorter = new ListSortController<ListModel>(model);
    List<SortKey> keys = new ArrayList<SortKey>();
    keys.add(new SortKey(0,SortOrder.ASCENDING));
    sorter.setSortKeys(keys);
    assertEquals(0,sorter.convertRowIndexToModel(1));
}
项目:swingx    文件AbstractTestSortController.java   
/**
 * Test that resetSortOrders doesn't change sorts at all if controller is not sortable.
 * Does nothing if columnCount < 2.
 */
@Test
public void testResetSortOrdersIfSortableFalse() {
    if (getColumnCount() < 2) return;
    controller.toggleSortOrder(0);
    controller.toggleSortOrder(1);
    controller.setSortable(false);
    List<? extends SortKey> keys = controller.getSortKeys();
    assertEquals(2,keys.size());
    controller.resetSortOrders();
    assertEquals("resetSortOrders must not touch unsortable columns",keys,controller.getSortKeys());
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。