Как я могу получить выбранные значения строк из 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 );

И это все!

Другие вопросы по тегам