JavaFX: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 43:
JavaFX permette anche di interagire senza alcuno sforzo con classi Java preesistenti. E' in oltre possibile fare l'opposto: si può includere una applicazione JavaFX all'interno di un normale programma scritto in Java e [[SWING]]<ref>[http://blogs.sun.com/javafx/entry/how_to_use_javafx_in JavaFX in Swing]</ref>.
 
Lo spazio grafico di lavoro di JavaFX è un oggetto <code>Stage</code>, radice di ogni applicazione JavaFX, che può intercambiare oggetti <code>Scene</code>, dei contenitori (oggetti che estendono la classe <code>Container</code>) di generici componenti grafici (<code>Node</code>). A tutti gli effetti un oggetto <code>Scene</code> è un albero di nodi, in cui ogni nodo può essere sia un contenitore di altri nodi (che ad esempio specifica la disposizione bidimensionale dei suoi sotto componenti), sia un nodo grafico, cioè un [[Lightweight Component]] con una opportuna rappresentazione ed una serie di attributi che ne descrivono le proprietà (posizione, dimensioni, colorazione ecc.): il concetto ricorda molto quello di DOM di una pagina HTML, in cui possono essere disposti opportuni [[Tag]] con alcuni attributi.
 
Funzionalità degna di nota è il “binding” (letteralmente "legare"): la possibilità di associare ad una variabile <code>A</code> (in questo caso un numero) una certa espressione <code>ESPR</code>
<source lang="text">
var A : Number = bind ESRP
</source>
ogni qualvolta <code>ESPR</code> cambia valore, anche il valore di A (ovunque sia utilizzato) varia: questo introduce grossi problemi di prestazioni, soprattutto nel caso di abuso di binding, ma semplifica estremamente la comune interazione tra componenti grafiche.: per esempio si può facilmente associare il valore di un qualunque controllo, ad esempio una barra di scorrimento, all'attributo di un altro componente (situazione molto comune), come la dimensione di una immagine, o la velocità di una animazione.
Per esempio si può facilmente associare il valore di un qualunque controllo, ad esempio una barra di scorrimento, all'attributo di un altro componente (situazione molto comune), come la dimensione di una immagine, o la velocità di una animazione.
 
== Esempio: Hello World ==