Таблица javaFx просто заполняет 1 TableCollumn [duplicate]

'self' используется для ссылки на вновь созданный объект.

, например, если вы объявляете метод в классе по умолчанию, он автоматически принимает экземпляр как первый аргумент.

По соглашению мы называем это «я» в файле python.it просто сильное соглашение. Вы можете назвать это другим именем.

Если вы хотите использовать метод, который не нуждается в доступе к себе, используйте staticmethod:

class TestClass():
   @staticmethod
   def staticMethod(other_arg):
        print "This is a static method"

    def instanceMethod(self,other_arg): #This is instance method
        print "self is instance"

    ##If you want access to the class, but not to the instance, use classmethod:

    @classmethod
    def my_class_method(cls, other_arg):
        print "this is a class method"
10
задан Keith_Indy 24 September 2013 в 13:48
поделиться

2 ответа

Этот вопрос действительно является дубликатом: 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.

30
ответ дан Community 31 August 2018 в 17:26
поделиться

Для всех, кто еще не получил его после прохождения вышеизложенного, моя проблема заключалась в том, что я не указывал своим сеттерам «публичное окончательное» обозначение.

0
ответ дан Zachary Bennett 31 August 2018 в 17:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: