Javafx: crear propiedades de manera más eficiente

Video: ToDo Desktop - Java FX

Las capacidades avanzadas de propiedades JavaFX no vienen sin un costo. Específicamente, instanciar un objeto de propiedad toma más memoria y procesamiento en tiempo de crear una propiedad simple basado en el campo. Y en muchas clases, son sólo ocasionalmente necesitan las capacidades avanzadas de un objeto de propiedad JavaFX. Esto, crear instancias de objetos de propiedad para cada propiedad en una clase si se necesita o no el objeto, es un desperdicio.

Video: javafx - Animaciones

Aquí es una técnica para crear propiedades en que los objetos de la propiedad en sí no se crean instancias hasta que el propio acceso de propiedad se llama. De esta manera, el objeto de la propiedad no se crea a menos que sea realmente necesario. Aquí están los detalles de esta técnica:

  1. Declarar un campo privado para contener los datos representados por la propiedad.

    Por ejemplo, para una propiedad de cadena, se crea una Cuerda variable. Para el nombre de la variable, utilice el nombre de la propiedad contiene un guión bajo, de esta manera:

    Cadena final privado _firstName = "-
  2. Crear, pero no lo crea, una variable privada para representar el objeto propiedad.

    En otras palabras, declarar la variable pero no llame al constructor de la clase:

    final privado SimpleStringProperty firstName-
  3. Crear el captador.

    En el captador, utilice una Si declaración para determinar si el objeto existe propiedad. Si es así, devolver el valor de la propiedad. Si no es así, devolver el valor del campo privado. Por ejemplo:

    Cadena getFirstName public final () {if (nombre == null) return _firstName-elsereturn firstName.get () -}
  4. Crear la incubadora.

    Utilizar la misma técnica en la incubadora:

    vacío public final setFirstName (Valor de la cadena) {if (nombre == null) _firstName = valor elsefirstName.set (valor) -}
  5. Crear el acceso de propiedad.

    En este método, primero compruebe si el objeto existe la propiedad y crear el objeto si no existe. Utilice el valor del campo privado como el valor inicial de la propiedad. A continuación, devolver el objeto:

Video: JavaFx Introducción a JavaFX con Netbeans

pública final StringProperty firstNameProperty () {if (nombre == null) Nombre = nueva SimpleStringProperty (esto, "nombre de pila", _firstName) -Retorno firstName-}

Esto es lo que parece poner juntos en una clase llamada Cliente:

Video: 10 - JavaFX. Обработка событий

Public class Cliente {String final privado _firstName = "-private cadena getFirstName última SimpleStringProperty primerNombre-pública final () {if (nombre == null) return _firstName-elsereturn firstName.get () - setFirstName} void (String value) {if pública final (nombre == null) _firstName = valor -elsefirstName.set (valor) -} pública final StringProperty firstNameProperty () {if (nombre == null) Nombre = nueva SimpleStringProperty (esto, "nombre de pila", _firstName) -Retorno firstName-}}
Artículos Relacionados