#codenameone
#codenameone
Вопрос:
В Codenameone есть ли способ определить, когда была нажата ячейка в таблице, чтобы я мог узнать, что выбрал пользователь? Я искал что-то вроде addActionListener в ячейке, но не могу его найти, есть что-то еще?
Комментарии:
1. Отлично, именно то, что мне было нужно, работает, спасибо!
Ответ №1:
Предполагая, что таблица недоступна для редактирования (в редактируемой таблице ячейки являются текстовыми полями), это должно быть довольно просто:
Form hi = new Form("Table", new BorderLayout());
Table clickTable = new Table(new DefaultTableModel(new String[]{"AAA", "BBB"}, new String[][] {
{"Row 1 A", "Row 1 B"},
{"Row 2 A", "Row 2 B"},
{"Row 3 A", "Row 3 B"},
})) {
@Override
protected Component createCell(Object value, int row, int column, boolean editable) {
if(editable) {
return super.createCell(value, row, column, editable);
}
Button b = new Button("" value);
b.addActionListener(e -> ToastBar.showMessage("Clicked " row ", " column, FontImage.MATERIAL_INFO));
return b;
}
};
hi.add(BorderLayout.CENTER, clickTable);
hi.show();