Как определить тип данных (String, Integer, Double и т. Д.) Ссылки на таблицу table javafx. Например. У меня есть пользовательские ячейки завод, который назначен на поле в контроллере JavaFX следующим образом:JavaFx - Получить тип данных TableCell
CustomCellFactory<Damageloop, Date> damageLoopWorkshopDueDateFactory = new CustomCellFactory ("colDamageLoopWorkshopDueDate", false);
Это вызывает следующий класс ...
public class CustomCellFactory<S, T> implements Callback<TableColumn<S, T>, TableCell<S, T>> {
String colname;
boolean editable;
public CustomCellFactory (String colname, boolean editable) {
this.colname = colname;
this.editable = editable;
}
@Override
public TableCell<S, T> call(TableColumn<S, T> arg) {
TableCell<S, T> cell;
if (editable == true) {
cell = new TableCellEditable<>(colname);
} else {
cell = new TableCellCustom<>(colname);
}
return cell;
}
}
Который в свою очередь, вызывает следующий класс .. .
public class TableCellCustom <S, T> extends TableCell<S, T> {
String colname;
public TableCellCustom (String colname) {
this.colname = colname;
}
@Override
protected void updateItem(T item, boolean empty) {
super.updateItem(item, empty);
if (empty || item == null) {
setText(null);
setGraphic(null);
} else {
setConditionalFormatting(this,item);
}
}
public void setConditionalFormatting (TableCell<S,T> cell, T item) {
//perform specific cell formatting....
}
}
И хотел бы, чтобы определить тип данных ячейки на уровне TableCellCustom (т.е. начальный параметр, который передается при создании CustomCellFactory, в данном случае дата) так зр На основе этого могут быть выполнены особые операции. Я попытался ...
super.itemProperty().getName()
И это возвращает целую кучу информации, связанной с ячейкой следующим образом:
ObjectProperty [bean: EditableTableCell[id=colDamageLoopWorkshopDueDate, styleClass=cell indexed-cell table-cell table-column]'17/01/2016', name: item, value: 2016-01-17]
Но нет ссылки на ячейки типа данных.
Можете ли вы дать немного больше контекста здесь? Ответ книги состоит в том, что тип данных - 'T', но я предполагаю, что это не то, что вы имеете в виду ... –
@James_D обновлен, чтобы предоставить больше контекста. И я определенно не после T! – Josh