Ricerca…


Legame semplice della proprietà

JavaFX ha un'API di associazione, che fornisce metodi per legare una proprietà all'altra. Ciò significa che ogni volta che viene modificato il valore di una proprietà, il valore della proprietà associata viene aggiornato automaticamente. Un esempio di rilegatura semplice:

SimpleIntegerProperty first =new SimpleIntegerProperty(5); //create a property with value=5
SimpleIntegerProperty second=new SimpleIntegerProperty();

public void test()
{
    System.out.println(second.get()); // '0'
    second.bind(first);               //bind second property to first
    System.out.println(second.get()); // '5'
    first.set(16);                    //set first property's value
    System.out.println(second.get()); // '16' - the value was automatically updated
}

Puoi anche associare una proprietà primitiva con l'applicazione di un'addizione, sottrazione, divisione, ecc:

public void test2()
{
        second.bind(first.add(100));
        System.out.println(second.get()); //'105'
        second.bind(first.subtract(50));
        System.out.println(second.get()); //'-45'
}

Qualsiasi oggetto può essere inserito in SimpleObjectProperty:

SimpleObjectProperty<Color> color=new SimpleObjectProperty<>(Color.web("45f3d1"));

È possibile creare binding bidirezionali. In questo caso, le proprietà dipendono l'una dall'altra.

public void test3()
{
        second.bindBidirectional(first);
        System.out.println(second.get()+" "+first.get());
        second.set(1000);
        System.out.println(second.get()+" "+first.get()); //both are '1000'
}


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow