TableModel (내 모든 데이터)을 포함하는 JTable이 있습니다. JTable에는 여러 행과 열이 있습니다. 무작위로 행을 임의로 셔플해야합니다. 나는 내가 할 수있는 이해 내가 TableModel에 있던 기존의 JTable의 목록을 얻는 방법을 잘 모릅니다Jtable에서 셔플하는 법
Collections.shuffle(some list from TableModel);
으로하지만.
은 somebodies 제안에,이RowSorter<? extends TableModel> sorter = mDocListTable.getRowSorter();
ArrayList<RowSorter.SortKey> list = new ArrayList<RowSorter.SortKey>();
list.add(new RowSorter.SortKey(0, SortOrder.DESCENDING));
Collections.shuffle(list);
sorter.setSortKeys(list);
그러나 didnt 한 작업을 시도했다.
한 가지 방법은 사용자 정의 ['RowSorter'] (https://docs.oracle.com/javase/7/docs/api/javax/swing/RowSorter.html)를 작성하는 것입니다. 'RowSorter'는 컬럼 헤더를 정렬 키로 사용하기 위해 디자인되었으므로 반드시 오버 헤드가 필요하지는 않지만'convertRowIndexToModel (int index)'와'convertRowIndexToView (int index)'메소드는 당신이 원하는 것을하십시오; 단순히 [[0, 1, ..., getRowCount()]'정수리스트를 동일한 정수로 맵핑하는 것을 만들었지 만, 섞여있다. 뷰로 변환 메소드는 매핑 된 값을 반환합니다. – Ironcache
실제로 모델이 수정 된 (보기뿐만 아니라) 테이블을 원한다면 [DefaultTableModel'] (https : // docs.)에서'moveRow (int start, int end, int to)'를 사용할 수도 있습니다. oracle.com/javase/7/docs/api/javax/swing/table/DefaultTableModel.html). – Ironcache
"정수 목록 [0, 1, ..., getRowCount()]을 같은 정수로 매핑하는 것만으로 간단하게 설명해주십시오." 작은 예제가 도움이 될 것입니다. – user1631306