JavaFX: Como criar uma leitura / gravação Propriedade

Para criar uma propriedade básica JavaFX cujo valor pode ser lido e escrito, você precisa usar duas das aulas para o tipo de propriedade: a propriedade de classe do tipo correto ea propriedade simples correspondente. Por exemplo, para criar uma propriedade do tipo Duplo, você precisa usar tanto o DoubleProperty classe eo SimpleDoubleProperty classe.

Aqui estão os passos para criar uma propriedade de leitura / gravação:

  1. Criar um campo de local para a propriedade usando a classe propriedade para o tipo correto.

    O campo deve ser definido com privado visibilidade, e deve ser final. Por exemplo:

    privada de propriedade Cadeia firstName-
  2. Criar uma instância da propriedade usando a classe propriedade simples do tipo correto.

    O construtor para o tipo simples propriedade aceita três parâmetros, o que representa o objeto que contém a propriedade (normalmente especificada como esta, uma cadeia que representa o nome da propriedade, e o valor padrão da propriedade). Por exemplo:

    firstName = new SimpleStringProperty (this, "Nome", "") -

    Aqui, esta é especificado como o objeto que contém, primeiro nome é o nome da propriedade, eo valor padrão é uma seqüência vazia.

    Muitas vezes é conveniente para declarar o campo de propriedade privada e instanciar a propriedade na mesma instrução, como este:

    StringProperty firstName = new SimpleStringProperty (this, "Nome", "") -
  3. Criar um getter para a propriedade.

    O nome do método getter deve ser público ou protegido, deveria ser final, ele deve seguir a convenção de nomenclatura de propriedade (obter seguido pelo nome da propriedade com um tampão inicial), e ele deve retornar um valor do tipo de propriedade subjacente. Em seguida, deverá chamar a propriedade privada de obter método para recuperar o valor da propriedade, como este:

    pública getFirstName final String {return firstName.get () -}
  4. Criar um setter para a propriedade.

    O nome do método setter deverá por público ou protegido, deveria ser final, ele deve seguir a convenção de nomenclatura de propriedade (conjunto seguido pelo nome da propriedade com um tampão inicial), e ele deve aceitar um valor de parâmetro do tipo de propriedade subjacente. Em seguida, deverá chamar a propriedade privada de conjunto método para definir a propriedade para o valor passado. Por exemplo:

    public final vazio setFirstName (String value) {firstName.set (valor) -}
  5. Criar o acessor propriedade.

    Este método deve retornar o próprio objeto de propriedade:

    public final StringProperty firstNameProperty () {return firstName-}

    Observe que o tipo é StringProperty, não SimpleStringProperty.

  6. Repita todo o procedimento para cada propriedade na sua classe.

Aqui está um exemplo completo que implementa uma propriedade de leitura / escrita denominada primeiro nome em uma classe chamada Cliente:

classe Customer pública {StringProperty firstName = new SimpleStringProperty (this, "Nome", "") -public final de Cordas getFirstName {return firstName.get () -} public setFirstName final void (String value) {firstName.set (valor) -} public final StringProperty firstNameProperty () {return firstName-}}

menu