Boa noite, estou com um problema no Granite, quando tenho um atributo na minha classe java do tipo String consigo acessa-lo tanto faz se ele é public ou private, porém quando tenho um atributo do tipo Filhos(um classe criada por mim) só consigo acessar se a minha instancia de filhos for public....
Alguém sabe me explicar porque??? Segue abaixo classes envolvidas na questão: Usuário: package test.pojo; public class Usuario { private int id; private String nome; private String sobreNome; private Filhos filhos; // se aqui for public funciona.... estou achando muito estranho public Usuario(int id, String nome, String sobreNome) { this.setId(id); this.setNome(nome); this.setSobreNome(sobreNome); this.setFilhos("Agata", "Heitor"); } public String teste() { return "Deu certo"; } public Integer getId() { return this.id; } public void setId(Integer id) { this.id = id; } public String getNome() { return this.nome; } public void setNome(String nome) { this.nome = nome; } public String getSobreNome() { return this.sobreNome; } public void setSobreNome(String sobreNome) { this.sobreNome = sobreNome; } public void setFilhos(String filho1, String filho2) { this.filhos = new Filhos(filho1, filho2); } public Filhos getFilhos() { return this.filhos; } } Filhos: package test.pojo; public class Filhos { private String filho1; private String filho2; public Filhos(String filho1, String filho2) { setFilho1(filho1); setFilho2(filho2); } public String getFilho1() { return this.filho1; } public void setFilho1(String filho1) { this.filho1 = filho1; } public String getFilho2() { return this.filho2; } public void setFilho2(String filho2) { this.filho2 = filho2; } } Flex: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" xmlns:cs="test.granite.components.*" layout="vertical" height="780" width="1024"> <mx:Script> <![CDATA[ import mx.messaging.Producer; import mx.charts.effects.effectClasses.SeriesInterpolateInstance; import mx.controls.Alert; import mx.rpc.events.ResultEvent; import mx.collections.ArrayCollection; [Bindable] public var usuario:Object; [Bindable] public var usuarios:ArrayCollection; private function onResultHelloWorld(event:ResultEvent):void{ mx.controls.Alert.show(event.result as String); } private function onRetornaUsuario(event:ResultEvent):void{ usuarios = ArrayCollection(event.result); //usuario = Object(event.result); //mx.controls.Alert.show("Eu, "+usuario.nome+' '+usuario.sobreNome+", tenho 2 filhos: "+usuario.filhos.filho1+" e "+usuario.filhos.filho2); } public function colFilho1(item:Object, column:DataGridColumn):String { return item.filhos.filho1.toString(); } public function colFilho2(item:Object, column:DataGridColumn):String { return item.filhos.filho2.toString(); } public function mudaLinha(event:Event):void { lbl.text = event.target.selectedItem.id; } ]]> </mx:Script> <mx:RemoteObject id="srv" showBusyCursor="true" destination="pojo" /> <mx:Label id="lbl" text="{srv.getCounter.lastResult}" /> <mx:Button label="Go" click="srv.getCounter()"/> <mx:RemoteObject id="srvHelloWorld" showBusyCursor="true" destination="HelloWorldService" result="onRetornaUsuario(event)" /> <mx:Button label="Show Messages" click="srvHelloWorld.sayHelloWorld()"/> <mx:Button label="Pega Usuário" click="srvHelloWorld.retornaUsuario()"/> <mx:DataGrid dataProvider="{usuarios}" change="mudaLinha(event)"> <mx:columns> <!-- <mx:DataGridColumn headerText="Id" dataField="id"/> --> <mx:DataGridColumn headerText="Nome" dataField="nome" /> <mx:DataGridColumn headerText="Sobre nome" dataField="sobreNome"/> <mx:DataGridColumn headerText="Filho 1" labelFunction="{colFilho1}"/> <mx:DataGridColumn headerText="Filho 2" labelFunction="{colFilho2}"/> </mx:columns> </mx:DataGrid> </mx:Application> Alguém consegue fazer tudo com o private, poderia me passa partes do códio(como fiz acima) para que eu possa analisar e achar onde esta o meu erro?? Desde já Obrigado Sandro Mueller --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para [EMAIL PROTECTED] Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---