sclass DynObjectTable extends DynModule {
L data;
transient JTable table;
transient F1 itemToMap;
JComponent visualize() {
table = dataToTable_uneditable(sexyTable(), data);
onDoubleClickOrEnter(table, voidfunc(int row) {
A a = _get(data, row);
if (a != null) onDoubleClick(a);
});
ret table;
}
void unvisualize() { table = null; }
void onDoubleClick(A line) {}
void update() {
if (table != null) dataToTable_uneditable(table, map(itemToMap, data));
}
void clear() { syncClear(data); changeAndUpdate(); }
void add(A a) { syncAdd(data, a); changeAndUpdate(); }
}