コード例 #1
0
ファイル: TableUtils.java プロジェクト: hanyuqianye/bluebell
  /**
   * Gets the model indexes for the given row indexes.
   *
   * @param table the table.
   * @param viewIndexes the view indexes.
   * @return the model indexes.
   * @see #getModelIndex(JTable, Integer)
   * @see #getViewIndexes(JTable, List)
   */
  public static List<Integer> getModelIndexes(JTable table, List<Integer> viewIndexes) {

    Assert.notNull(table, TableUtils.TABLE);
    Assert.notNull(viewIndexes, "viewIndexes");

    final List<Integer> modelIndexes = new ArrayList<Integer>(viewIndexes.size());
    for (int i = 0; i < viewIndexes.size(); ++i) {
      modelIndexes.add(TableUtils.getModelIndex(table, viewIndexes.get(i)));
    }

    return modelIndexes;
  }
コード例 #2
0
ファイル: TableUtils.java プロジェクト: hanyuqianye/bluebell
  /**
   * Gets the entities currently being shown.
   *
   * @param <Q> the type of the rows.
   * @param table the table.
   * @return the visible entities.
   */
  @SuppressWarnings("unchecked")
  public static <Q> List<Q> getVisibleEntities(JTable table) {

    Assert.notNull(table, TableUtils.TABLE);
    Assert.notNull(table.getModel(), "table.getModel()");
    Assert.isTrue(
        table.getModel() instanceof GlazedTableModel,
        "table.getModel() instanceof GlazedTableModel");

    final GlazedTableModel tableModel = (GlazedTableModel) table.getModel();

    final List<Q> rows = new ArrayList<Q>(table.getRowCount());
    for (int i = 0; i < table.getRowCount(); ++i) {

      // JAF, 20100411, fixed a BIG bug retrieving elements: rows.add((Q)
      // tableModel.getElementAt(i));
      rows.add((Q) tableModel.getElementAt(TableUtils.getModelIndex(table, i)));
    }

    return rows;
  }