O que é o Bindable?

Bom Dia Galera!

É o seguinte, estava estadando java, e me deparei com um exemplo da seguinte maneira:

[Bindable]
private String nomeVariavel;

O que este Bindable oferece para a minha váriavel?

Desde já agradeço

Cara,

Eu nunca vi isso em Java. Conheço esse [Bindable] do ActionScript, onde ele serve como metadado (tipo uma Annotation) para embutir um recurso em um arquivo Flash. Será que você não se confundiu?

Ola pango, valeu pela ajuda!

É, eu escrevi errado, é que estou estudando Flex, e ele usa Actionscript, aí me deparei com esse Bindable, mas que recursos são esses que ele oferece para a variável?

Valeu ae

Cara,

Em termos gerais, quando você marca uma propriedade como bindable, você torna possível ligar esta propriedade a um elemento da sua interface de usuário.

Por exemplo, você pode declarar a propriedade nome de uma classe Cliente como bindable e, assim, vinculá-la a uma text box na tela. Quando o usuário altera o texto da text box, a propriedade do seu objeto é alterada automaticamente. Da mesma forma, se você alterar programaticamente a propriedade, o conteúdo da text box será alterado para exibir o mesmo valor.

Dê uma olhada na documentação do Flex.

Cara, eu tava escrevendo um texto mais ou menos explicativo aqui mas deu erro na hora de salvar, vou ver se consigo lembrar tudo que eu tinha montado aqui pra te explicar, mas primeiro procura dar uma olhada nesse link:
http://livedocs.adobe.com/flex/3/html/help.html?content=databinding_8.html

Basicamente, o Bindable funciona da seguinte maneira. Imagine que no seu componente Flex você tenha as propriedades abaixo:

[Bindable]
private var code:String;
private var name:String;

Se você adicionar, por exemplo, no componente que você está criando dois textInput (um para cada atributo acima):

    <mx:TextInput id="textInputCode" text="{this.code}" />
    <mx:TextInput id="textInputName" text="{this.name}" />

Como você setou o atributo code como Bindable, quando você modificar o valor do campo textInputCode você já vai estar refletindo no conteúdo do atributo code. Já no caso do atributo name, como não foi setado como Bindable, será necessário construir um getter e setter para ele.

Conseguiu entender a diferença? Você pode fazer um teste criando uma aplicação de exemplo e com um botão que irá mostrar um Alert do conteúdo dos atributos que você definiu. Acho bem mais fácil de você entender.

Abraço