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

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