ui/src/main/java/ucar/util/prefs/ui/BeanTable.java
public ArrayList<Object> getSelectedCells() {
    ArrayList<Object> list = new ArrayList<>();
    int[] viewRowIndices = jtable.getSelectedRows();
    int[] viewColumnIndices = jtable.getSelectedColumns();
    for (int i = 0; i < viewRowIndices.length; i++)
      for (int j = 0; i < viewColumnIndices.length; j++) {
        int modelRowIndex = jtable.convertRowIndexToModel(viewRowIndices[i]);
        int modelColumnIndex = jtable.convertColumnIndexToModel(viewColumnIndices[j]);
        list.add(model.getValueAt(modelRowIndex, modelColumnIndex));
      }

    return list;
  }
public ArrayList<Object> getSelectedCells() {
    ArrayList<Object> list = new ArrayList<>();
    int[] viewRowIndices = jtable.getSelectedRows();
    int[] viewColumnIndices = jtable.getSelectedColumns();
    for (int i = 0; i < viewRowIndices.length; i++)
      for (int j = 0; i < viewColumnIndices.length; j++) {
        int modelRowIndex = jtable.convertRowIndexToModel(viewRowIndices[i]);
        int modelColumnIndex = jtable.convertColumnIndexToModel(viewColumnIndices[j]);
        list.add(model.getValueAt(modelRowIndex, modelColumnIndex));
      }

    return list;
  }
Get the currently selected cells.
Use this for multiple row selection, when columnSelection is on

@return ArrayList of currently selected cells (wont be null).
@see BeanTable#setSelectionMode(int).