Автоматическая нумерация строк в таблице javafx
у меня есть пример кода, который мы используем для динамических рядов строку Java Swing таблица i.e JTable. Я новичок в JavaFX и хотел бы то же самое в JavaFX. Есть ли способ установить автоматические номера строк в JavaFX стол 
 class LineNumberTable extends JTable {
            private JTable mainTable;
            public LineNumberTable(JTable table) {
                super();
                mainTable = table;
                setAutoCreateColumnsFromModel(false);
                setModel(mainTable.getModel());
                setAutoscrolls(false);
                addColumn(new TableColumn());
                getColumnModel().getColumn(0).setCellRenderer(mainTable.getTableHeader().getDefaultRenderer());
                getColumnModel().getColumn(0).setPreferredWidth(40);
                setPreferredScrollableViewportSize(getPreferredSize());
            }
            @Override
            public boolean isCellEditable(int row, int col) {
                if (col == uneditableColumn) {
                    return false;
                }
                return bEdit;
            }
            @Override
            public Object getValueAt(int row, int column) {
                return Integer.valueOf(row + 1);
            }
            @Override
            public int getRowHeight(int row) {
                return mainTable.getRowHeight();
            }
        }
1 ответов
в JavaFX, вы используете TableColumns с CellFactories и CellValueFactories для заполнения вашего TableView.
учебники JavaFX имеют статьи это может заставить вас начать.
в одном из подходов, который я использовал, я преобразую бизнес-объекты для отображения в объекты презентации и добавляю к ним все необходимые свойства (например, в вашем случае номер).
EDIT: во втором, более чистом подходе вы можете установить свой CellFactory в создать TableCell Это показывает свой собственный index в собственность TableCell#updateItem(S, boolean):
public class NumberedCell extends TableCell{
  protected void updateItem(Object object, boolean selected){
    setText(String.valueOf(getIndex());
  }
}
