Всякий раз, когда вам нужно динамически обращаться к ресурсу, вы должны использовать квадратную скобку для доступа к свойству, а не «.». оператор Синтаксис: object [propery}
const something = { bar: "Foobar!" };
const foo = 'bar';
// something.foo; -- not correct way at it is expecting foo as proprty in something={ foo: "value"};
// correct way is something[foo]
alert( something[foo])
Этот вопрос действительно является дубликатом: Javafx PropertyValueFactory не заполняет Tableview , но я конкретно рассмотрю ваш конкретный случай, так что это понятно.
Фон
Свойство PropertyValueFactory использует отражение для определения методов получения и установки значений данных, а также для получения связующих свойств из вашего класса модели. Образец следующий:
PropertyValueType getName()
void setName(PropertyValueType value)
PropertyType nameProperty()
Где «имя» - это строка, указанная в конструкторе PropertyValueFactory.
Почему ваше приложение не работает
У вас есть эти три выражения:
new PropertyValueFactory<sresult, String>("DateEntered")
new PropertyValueFactory<sresult, String>("cDesc")
new PropertyValueFactory<sresult, String>("CreatedBy")
Для свойств вашего образца PropertyValueFactory будет искать эти методы:
"DateEntered" => getDateEntered()
"cDesc" => getCDesc()
"CreatedBy" => getCreatedBy()
И у вас есть эти три геттера на вашем sresult
class:
getDateEntered()
getcDesc()
getEnteredBy()
Только свойство getDateEntered()
будет собрано PropertyValueFactory, потому что это единственный метод сопоставления, определенный в классе sresult
.
Совет
Вам нужно будет принять стандарты Java, если вы хотите, чтобы отражение в PropertyValueFactory работало (альтернатива - не использовать PropertyValueFactory и вместо этого писать ваши собственные клеточные фабрики с нуля).
Принятие Соглашения о присвоении имен Java верблюдов также упрощает чтение Java-кода вашим разработчикам Java.
Для всех, кто еще не получил его после прохождения вышеизложенного, моя проблема заключалась в том, что я не указывал своим сеттерам «публичное окончательное» обозначение.