--- old/src/java.desktop/share/classes/javax/swing/JTable.java 2018-03-28 11:51:51.250350001 +0530 +++ new/src/java.desktop/share/classes/javax/swing/JTable.java 2018-03-28 11:51:51.002350001 +0530 @@ -2268,23 +2268,7 @@ */ @BeanProperty(bound = false) public int[] getSelectedRows() { - int iMin = selectionModel.getMinSelectionIndex(); - int iMax = selectionModel.getMaxSelectionIndex(); - - if ((iMin == -1) || (iMax == -1)) { - return new int[0]; - } - - int[] rvTmp = new int[1+ (iMax - iMin)]; - int n = 0; - for(int i = iMin; i <= iMax; i++) { - if (selectionModel.isSelectedIndex(i)) { - rvTmp[n++] = i; - } - } - int[] rv = new int[n]; - System.arraycopy(rvTmp, 0, rv, 0, n); - return rv; + return selectionModel.getSelectedIndices(); } /** @@ -2306,16 +2290,7 @@ */ @BeanProperty(bound = false) public int getSelectedRowCount() { - int iMin = selectionModel.getMinSelectionIndex(); - int iMax = selectionModel.getMaxSelectionIndex(); - int count = 0; - - for(int i = iMin; i <= iMax; i++) { - if (selectionModel.isSelectedIndex(i)) { - count++; - } - } - return count; + return selectionModel.getSelectedItemsCount(); } /**