Поместите JTextComponent и JComboBox в JTable - PullRequest
3 голосов
/ 13 мая 2011

У меня есть List и List, и мне нужно создать JTable с этими двумя столбцами.Меня смущает модель, может ли кто-нибудь показать мне, как это сделать, пожалуйста, я новичок в Swing и Java?

Ответы [ 2 ]

2 голосов
/ 13 мая 2011

Пожалуйста, , проверьте мой ответ на другой вопрос . Там, где я представил простую модель таблицы часто используют.

В вашем случае вы бы создали данные следующим образом:

//I assumed here list 1 and 2 have the same sizes
List<Object> list1 = getList1();
List<Object> list2 = getList2();
int rNo = list1.size();
List<List<Object>> data = new ArrayList<List<Object>>(rNo);
int cNo = 2;
for(int i = 0; i < rNo; i++)
{
     List<Object> r = new ArrayList<Object>(cNo);
     r.add(list1.get(i));
     r.add(list2.get(i));
     data.add(r);
}
tm.setData(data);
1 голос
/ 13 мая 2011

Не беспокойтесь, просто установите нужный компонент в качестве редактора ячеек для этого столбца. Просто не так.

Пример фрагмента

public class JTextFieldCellEditor extends DefaultCellEditor {    
    JTextField textField;    
    public JTextFieldCellEditor() {
        super(new JTextField());
        textField = (JTextField) getComponent();   
    }
}

Затем включите его, как показано ниже,

TableColumn column = myTable.getColumnModel().getColumn(0);
column.setCellEditor(new JTextFieldCellEditor());

Дополнительная информация:

Вот ваш лучший выбор, Учебник по Swing для JTable .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...