JavaFX: содержимое TableView не отображается



Я создал приложение JavaFX, я построил собственный пакет, используя Ant, и я запутываю jar с Proguard-4.8.
Я могу создать собственный пакет exe, используя этот запутанный jar успешно. Когда я запускаю его, он запускает приложение успешно, все вещи работают нормально, но есть одна проблема в TableView. То есть данные присутствуют в TableView, но я не могу видеть данные в TableView.
Ниже снимок экрана, сделанный из exe для Таблица прилагается -



Введите описание изображения здесь



Есть ли какие-либо дополнительные настройки или изменения кода, необходимые в классе, которые сопоставляются с Tableview для сопоставления данных, во время запутывания.

757   3  

3 ответов:

Я добиваюсь своего. Я использую длинную форму PropertyValueFactory :

col.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<Test, String>,
             ObservableValue<String>>() {
     public ObservableValue<String> call(TableColumn.CellDataFeatures<Test, String> t) {
         // t.getValue() returns the Test instance for a particular TableView row
         return t.getValue().testProperty();
         // or
         return new SimpleStringProperty(t.getValue().getMessage());
     }
  });

Если вы используете "PropertyValueFactory" для таблицы, вы должны сохранить класс Your_Object от запутывания. Если вы этого не сделаете, PropertyValueFactory не сможет выполнить поиск объекта Your_Object после обфускации, так как этот объект будет обфускирован.

Пожалуйста, найдите спецификацию класса PropertyValueFactory из Oracle по адресу: спецификация PropertyValueFactory

Если вы уже собрали так много таблиц в разных пакетах, то вам нужно изменить все. Нет, я предлагаю использовать это в вас proguard_config поможет

   -keepclassmembers public class  yourpackage1.**, yourpackage2.** ,yourpackage3.**{
    public javafx.beans.property.StringProperty *Property();
}

Comments

    Ничего не найдено.