JavaFX: Съдържанието на TableView не се показва

Създадох JavaFX приложение, създадох собствен пакет с помощта на Ant и скривам jar с Proguard-4.8. Мога да създам собствен пакет exe, използвайки успешно този обфусциран буркан. Когато го стартирам, то стартира успешно приложението, всички неща работят добре, но има един проблем в TableView. Тоест данните присъстват в TableView, но не мога да видя данни в TableView. По-долу е приложена екранната снимка, направена от exe за TableView -

въведете описание на изображението тук

Има ли някакви допълнителни настройки или промени в кода, необходими в класа, които са свързани с Tableview за асоцииране на данни, по време на обфускацията.


person Ronak    schedule 18.01.2013    source източник
comment
(i) Работи ли преди операцията за маскиране/групиране? (ii) Поставили ли сте регистрационни файлове, за да проверите дали проблемът е, че таблицата е празна (няма данни) или данните не се показват (може да се дължи на много фактори)?   -  person assylias    schedule 18.01.2013
comment
(1) Да, работи напълно добре преди операцията по обфукиране/групиране. (2) Не Потвърждава се, че данните са налични. Мога да извършвам операция върху данните на таблицата. Проблемът е само, че данните не се виждат.   -  person Ronak    schedule 18.01.2013
comment
може ли да е проблем с форматирането (липсващ css например)?   -  person assylias    schedule 18.01.2013
comment
Не добавям никакъв css за него.   -  person Ronak    schedule 18.01.2013


Отговори (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());
     }
  });
person Ronak    schedule 25.01.2013

ако използвате "PropertyValueFactory " за таблицата, трябва да пазите класа Your_Object от обфускация. Ако не направите това, PropertyValueFactory не може да търси Your_Object след обфускация, защото този обект е обфускаван.

Моля, намерете спецификацията на класа PropertyValueFactory от Oracle на адрес: Спецификация на PropertyValueFactory

person Binh Trinh    schedule 31.03.2014

Имайки предвид, че вече сте създали толкова много таблици в различни пакети, че трябва да промените всички. Не, предлагам да използвате това във вашия proguard_config, което ще помогне

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