| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/08/2010 23:35:32
|
Rafael Afonso
Virtual Machine Man
Membro desde: 05/12/2002 16:03:43
Mensagens: 719
Localização: São Paulo/SP
Offline
|
Olá:
Estou estudando JavaFX pelo Livro Plataforma Pro JavaFx (tradução brasileira). No momento estou no capítulo 7, sobre criação de telas mais complexas. Infelizmente estou com um problema referente a binding referente a este exemplo. A seguir segue-se uma versão simplificada do script problemático:
Quando rodo aparece a seguinte exceção:
Já Procurei pelo Google a respeito dessa mensagem, mas não me ajudou muito .
No que se refere ao MasterTimer.timePulse, as sugestões que achei sugerem usar FX.deferAction. Entretanto admito que não entendi como poderia utilizar.
Já que se refere a AssignToBoundException a sugestão é usar bind inverse. Entretanto se eu fizer tileWidth: bind scene.width / 2 with inverse, acontece erro de compilação.
Portanto minha dúvida é sobre o que estou fazendo de errado e como corrigí-lo.
Grato,
|
Rafael Ubiratam Clemente Afonso
---------------------------------------
GitHub
ScalaFX
LinkedIn |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/08/2010 11:10:23
|
Jesuino Master
GUJ Ranger
![[Avatar]](/images/avatar/a5218f5fe0d71d13cc6a092c36a73e08.png)
Membro desde: 12/02/2009 08:40:06
Mensagens: 783
Offline
|
Oi,
Quando você faz um binding, não pode mais modificar o valor da variável, fica semelhante a um def...
O TileWidth e height é manipulado pela classe Tile, ela calcula o tamanho para o Tile de acordo com o Width total do Layout. Provalemente no JavaFX 1.2, versão sobre qual o livro é baseado, não há esse redimensionamento do Tile, daí o erro.
Sugestão:
- remova esse segundo bind
- Faça um override na variavel width do scene, quando ela for modificada acione um trigger que atualiza a variavel tilewidth do tile.
Se tiver dúvidas poste ae
[]'s
|
William Antônio Siqueira
Analista de Suporte
Blog e Twitter
Site Pessoal
Projetos? Idéias? Críticas? MP!
Não tome uma opinião como verdade absoluta! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/08/2010 22:37:17
|
Rafael Afonso
Virtual Machine Man
Membro desde: 05/12/2002 16:03:43
Mensagens: 719
Localização: São Paulo/SP
Offline
|
Jesuino Master wrote:
- remova esse segundo bind
- Faça um override na variavel width do scene, quando ela for modificada acione um trigger que atualiza a variavel tilewidth do tile.
Jesuíno:
Você então sugere criar uma subclasse de Scene para fazer um override de width? Poderia dar um exemplo?
Uma tentativa sem muito sucesso foi a seguinte:
Em width de Scene tentei fazer bind myWidth. Entretanto por Scene.width public-init, tive erro de compilação.
|
Rafael Ubiratam Clemente Afonso
---------------------------------------
GitHub
ScalaFX
LinkedIn |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/08/2010 11:42:38
|
Jesuino Master
GUJ Ranger
![[Avatar]](/images/avatar/a5218f5fe0d71d13cc6a092c36a73e08.png)
Membro desde: 12/02/2009 08:40:06
Mensagens: 783
Offline
|
Então, segue abaixo um exemplo que acredito que não demonstra o Bind, mas mostra uma solução para quando temos problemas com campos que não podem ter referência fixa.
Escrevi um artigo sobre bind do JavaFX para o JavaFree:
http://javafree.uol.com.br/topic-874587-Bind-em-JavaFX.html?page=1
mas o livro realmente destrói e explica tudo que é possível sobre o binding, o mesmo acontece com a Reflection do JavaFX, ele explica melhor que qualquer tutorial na internerds
|
William Antônio Siqueira
Analista de Suporte
Blog e Twitter
Site Pessoal
Projetos? Idéias? Críticas? MP!
Não tome uma opinião como verdade absoluta! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/08/2010 16:04:39
|
Rafael Afonso
Virtual Machine Man
Membro desde: 05/12/2002 16:03:43
Mensagens: 719
Localização: São Paulo/SP
Offline
|
Jesuíno:
Funcionou! Obrigado!
Ah! Obrigado também pelo site http://www.javafx.com.br/
|
Rafael Ubiratam Clemente Afonso
---------------------------------------
GitHub
ScalaFX
LinkedIn |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/08/2010 12:12:44
|
Rafael Afonso
Virtual Machine Man
Membro desde: 05/12/2002 16:03:43
Mensagens: 719
Localização: São Paulo/SP
Offline
|
Enviei um email para o autor do código original, Stephen Chin. Eia a resposta dele:
Stephen Chin wrote: Rafael, Thanks for the note. JavaFX 1.3 introduced some incompatible changes. Fortunately, there is an easy fix. Just add this line: autoSizeTiles: false That should fix the problem with the Tile exception you are seeing. Cheers, --Steve
O código corrigido ficou assim: E finalmente funcionou como esperado.
This message was edited 1 time. Last update was at 24/08/2010 12:13:47
|
Rafael Ubiratam Clemente Afonso
---------------------------------------
GitHub
ScalaFX
LinkedIn |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/08/2010 10:19:04
|
Jesuino Master
GUJ Ranger
![[Avatar]](/images/avatar/a5218f5fe0d71d13cc6a092c36a73e08.png)
Membro desde: 12/02/2009 08:40:06
Mensagens: 783
Offline
|
Ha legal
recebeu uma resposta direto do Stephen Chin hein
Assim o Tile não tenta ajustar seu Frame e você pode modificar a vontade o tamanho do mesmo.
Acho uma burrice do JavaFX isso, na verdade... Ele deveria saber que vocÊ fez bind na variável e automaticamente tirar o ajuste automático...
Valeu por compartilhar a solução!
|
William Antônio Siqueira
Analista de Suporte
Blog e Twitter
Site Pessoal
Projetos? Idéias? Críticas? MP!
Não tome uma opinião como verdade absoluta! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2012 14:16:03
|
/DR\
Smalltalk
Membro desde: 19/11/2009 08:56:27
Mensagens: 4
Offline
|
Rafael Afonso wrote:Enviei um email para o autor do código original, Stephen Chin. Eia a resposta dele:
Stephen Chin wrote:
Rafael,
Thanks for the note. JavaFX 1.3 introduced some incompatible changes.
Fortunately, there is an easy fix. Just add this line:
autoSizeTiles: false
That should fix the problem with the Tile exception you are seeing.
Cheers,
--Steve
O código corrigido ficou assim:
E finalmente funcionou como esperado. 
Não querendo reabrir o tópico, mas estou estudando esse mesmo livro, e acabei me deparando com diversos problemas, esse problema com a ligação dos tileWidth e titlHeight já estavam me tirando o sono.
Rafael Afonso você consegui executar todos os códigos do livro com perfeição?
tenho outras partes dos códigos de exemplos apresentando erro, e não consegui resolver.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/03/2012 06:03:03
|
Rafael Afonso
Virtual Machine Man
Membro desde: 05/12/2002 16:03:43
Mensagens: 719
Localização: São Paulo/SP
Offline
|
Olá:
Nem me lembro mais se consegui tudo o que estava no livro. Mas acho melhor você nem mais esquentar a cabeção com isso. Acho que é melhor você deixar a antiga versão do JavaFX e estudar a versão 2.0. Além disso o Livro já foi atualizado. Seria melhor estudar a partir dele.
Grato,
Rafael U. C. Afonso
/DR\ wrote:
Rafael Afonso wrote:Enviei um email para o autor do código original, Stephen Chin. Eia a resposta dele:
Stephen Chin wrote:
Rafael,
Thanks for the note. JavaFX 1.3 introduced some incompatible changes.
Fortunately, there is an easy fix. Just add this line:
autoSizeTiles: false
That should fix the problem with the Tile exception you are seeing.
Cheers,
--Steve
O código corrigido ficou assim:
E finalmente funcionou como esperado. 
Não querendo reabrir o tópico, mas estou estudando esse mesmo livro, e acabei me deparando com diversos problemas, esse problema com a ligação dos tileWidth e titlHeight já estavam me tirando o sono.
Rafael Afonso você consegui executar todos os códigos do livro com perfeição?
tenho outras partes dos códigos de exemplos apresentando erro, e não consegui resolver.
|
Rafael Ubiratam Clemente Afonso
---------------------------------------
GitHub
ScalaFX
LinkedIn |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/03/2012 06:52:29
|
/DR\
Smalltalk
Membro desde: 19/11/2009 08:56:27
Mensagens: 4
Offline
|
Sim. Estou estudando a versão script por causa de meu TCC. Quando elaborei o projeto de TCC, no inicio do 7° semestre no ano passado, o fiz sobre a versão script do JavaFX, pois era a versão atual naquele período. Agora com meu projeto sendo sobre a versão script somado com a escassez de material sobre o versão 2.0, me parece mais conveniente concluir o TCC utilizando a versão script do projeto. Mas concluindo o TCC vou me atualizar com um bom livro da versão 2.0.
Depois dos diversos erros encontrados no livro Plataforma Pro JavaFx v 1.2, não sei se confio em comprar o livro da Apress com a versão atualizada.
This message was edited 1 time. Last update was at 14/03/2012 06:56:23
|
|
|
 |
|
|