Как найти показатели видимых строк в таблице в Javafx 9JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как найти показатели видимых строк в таблице в Javafx 9

Сообщение Anonymous »

Как получить индексы видимых строк в таблице в Javafx 9? В Javafx 8 я могу сделать следующее: < /p>

// --- The offending imports in Java 9
// import com.sun.javafx.scene.control.skin.TableViewSkin;
// import com.sun.javafx.scene.control.skin.VirtualFlow;

/**
* This is a total hack. We need it as scrollTo jumps the selected
* row to the top of the table. Jarring if the row is already
* visible. As a workaround, we only scroll if the row isn't already
* visible
*
* @return A 2 element ray with the start and end index of visible rows
*/
public int[] getVisibleRows() {
TableView tableView = getTableView();
TableViewSkin skin = (TableViewSkin) tableView.getSkin();
if (skin == null) return new int[] {0, 0};
VirtualFlow flow = (VirtualFlow) skin.getChildren().get(1);
int idxFirst;
int idxLast;
if (flow != null &&
flow.getFirstVisibleCellWithinViewPort() != null &&
flow.getLastVisibleCellWithinViewPort() != null) {
idxFirst = flow.getFirstVisibleCellWithinViewPort().getIndex();
if (idxFirst > tableView.getItems().size()) {
idxFirst = tableView.getItems().size() - 1;
}
idxLast = flow.getLastVisibleCellWithinViewPort().getIndex();
if (idxLast > tableView.getItems().size()) {
idxLast = tableView.getItems().size() - 1;
}
}
else {
idxFirst = 0;
idxLast = 0;
}
return new int[]{idxFirst, idxLast};
}
< /code>

В Java 9, как часть модуляризации, команда JDK скрывает API, которые не должны были быть публичными (например, все пакеты, которые начинаются с 'com.sun'), если я попытаюсь скомпилировать это в Java 9, я получаю ошибки: < /p>

[...] cannot find symbol
[ERROR] symbol: class TableViewSkin
[ERROR] location: package com.sun.javafx.scene.control.skin

[...] cannot find symbol
[ERROR] symbol: class VirtualFlow
[ERROR] location: package com.sun.javafx.scene.control.skin
< /code>

Есть ли официальный способ получить видимые строки в таблице? Любые идеи на другом, лучшем обходном пути?TableViewExt tableViewExt = new TableViewExt(tableView);

public int[] getVisibleRows() {
return new int[]{ tableViewExt.getFirstVisibleIndex(),
tableViewExt.getLastVisibleIndex()};
}
< /code>

code for tableviewext < /p>

Подробнее здесь: https://stackoverflow.com/questions/464 ... n-javafx-9
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Intellij javafx module info.java: модуль считывает пакет «javafx.fxml» как из "javafx.fxml ', так и" javafx.fxml'
    Anonymous » » в форуме JAVA
    0 Ответы
    48 Просмотры
    Последнее сообщение Anonymous
  • JavaFX GridView, как получить идентификаторы видимых элементов
    Anonymous » » в форуме JAVA
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • JavaFX GridView, как получить идентификаторы видимых элементов
    Anonymous » » в форуме JAVA
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • JavaFX GridView, как получить идентификаторы видимых элементов
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Выбор всех видимых строк после поиска, используя кнопку «SELECTALL» в Table Data-Table
    Anonymous » » в форуме Jquery
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»