Как я могу получить выбранные значения строк из jTable и добавить эти значения в другой jTable?
Я пытался создать jTable
добавив столбец типа boolean
, чтобы отметить нужные строки. И получить их в другой похожий jTable
,
я использовал jTable1.getModel().setValueAt(int, int, int);
но не могу поставить выбранное String
значения к value
параметр.
Может кто-то помочь мне, пожалуйста?
2 ответа
Я использовал jTable1.getModel(). SetValueAt(int, int, int); но не может поместить выбранные значения String в параметр value.
Конечно, вы можете, подпись setValueAt(Object, int, int)
, Первый параметр Object
, а не "int", поэтому вы можете поместить любой объект в TableModel.
Если вы говорите о добавлении новых строк данных во вторую таблицу, то вам нужно использовать addRow(...)
метод DefaultTableModel
вашего стола. То есть DefaultTableModel изначально не будет содержать данных, поэтому вы не можете просто использовать метод setValueAt(...). Вместо этого вам нужно добавить новую строку данных для каждой строки, выбранной в первой таблице.
Если вам нужна дополнительная помощь, чем опубликовать свой SSCCE, это демонстрирует проблему.
JTable очень гибок и может добавлять и удалять любые строки по вашему желанию.
Количество столбцов, составляющих строку, может варьироваться от таблицы к другой, поэтому в JTable есть объект модели, с помощью которого вы можете манипулировать строками таблицы.
JTable
будет иметь DefaultTableModel
, Вы можете добавить строки в модель со своими данными.
Если вы получаете значения столбцов выбранной строки JTable, например:
String obj1
для строки 1, String obj2
для строки 2, String obj3
для строки 3, ... т. д.
ИЛИ ЕСЛИ ВАМ НУЖНО BOOLEAN:
Boolean obj1
для строки 1, Boolean obj2
для строки 2, Boolean obj3
для строки 3, ... т. д.
Тогда вы можете сделать следующее:
Object[] row = { obj1 , obj2 , obj3 };
Вы получаете объектную модель таблицы назначения следующим образом:
DefaultTableModel model = ( DefaultTableModel ) jTable1.getModel();
Затем добавьте в него строку, созданную вручную:
model.addRow( row );
И это все!