Благодаря комментариям, которые дали другое понимание.Я решил проблему следующим образом:
вычислил левый верхний и правый нижний индексы, для которых мне нужно нарисовать границу.И использовал эти значения в методе updateItem () ячейки таблицы следующим образом:
`if (tableCol.getTableView ()! = Null) {A4CalculationIndexValues a4CalculationIndexValues = A4Calculation.A4LayoutDetails.get (tableCol.getTableView).GetId ());if (a4CalculationIndexValues! = null) {Integer startRow = a4CalculationIndexValues.startRowColumnIndex.getRow ();Integer startColumn = a4CalculationIndexValues.startRowColumnIndex.getColumn ();Integer endColumn = a4CalculationIndexValues.endRowColumnIndex.getColumn ();Integer endRow = a4CalculationIndexValues.endRowColumnIndex.getRow ();
if (getIndex() == startRow && columnIndex >= startColumn && columnIndex <= endColumn) {
if (getStyle().equalsIgnoreCase(""))
setStyle("-fx-border-width: 1 2 3 4; -fx-border-color: red white white white");
}
if (getIndex() >= startRow && getIndex() <= endRow && columnIndex == startColumn) {
if (getStyle().equalsIgnoreCase(""))
setStyle("-fx-border-width: 1 2 3 4; -fx-border-color: white white white red");
}
if (getIndex() == endRow && columnIndex >= startColumn && columnIndex <= endColumn) {
if (getStyle().equalsIgnoreCase(""))
setStyle("-fx-border-width: 1 2 3 4; -fx-border-color: white white red white");
}
if (getIndex() >= startRow && getIndex() <= endRow && columnIndex == endColumn) {
if (getStyle().equalsIgnoreCase(""))
setStyle("-fx-border-width: 1 2 3 4; -fx-border-color: white red white white");
}
}
}`