| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/12/2004 12:27:05
|
Guilherme Silveira
Administrador
Membro desde: 14/08/2002 10:09:26
Mensagens: 1096
Localização: Sao Paulo
Offline
|
Uma vez li em algum lugar que a partir da versao 1.x do java (x <= 4), tudo que extendia de JFrame ja vinha com double buffering automatico....
Pois o double buffering deveria manter o que pintei mesmo apos um ALT+TAB no windows, por exemplo.
O problema eh que tenho um Canvas muito trabalhoso: http://www.linux.ime.usp.br/~gas/iniciacao/parte1.html e desenhar esse canvas nao eh tao rapido.
Existe mesmo algo como setDoubleBuffering(true) (ja tentei coisas parecidas) ou o jeito eh implementar o mesmo na memoria?
Abraco
Guilherme Silveira
|
-------------------------------------------------------
Guilherme Silveirahttp://blog.caelum.com.br
 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/12/2004 12:40:46
|
Hempx
JavaEvangelist
![[Avatar]](/images/avatar/2ba596643cbbbc20318224181fa46b28.png)
Membro desde: 18/04/2003 03:42:08
Mensagens: 356
Localização: Belo Horizonte
Offline
|
Olhe o tutorial do java2D. Tinha lido um texto muito bom a respeito. Não sei se foi na JavaMagazine ou alguma pagina na internet. Qd chegar em casa vou dar uma olhada se acho para voce.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/12/2004 13:03:48
|
Guilherme Silveira
Administrador
Membro desde: 14/08/2002 10:09:26
Mensagens: 1096
Localização: Sao Paulo
Offline
|
perfeito
O problema: Canvas nao eh Swing........ e eu extendo nossa belissima java.awt.Canvas.. .se fosse Swing ja teria o double buffering automaticamente.....
Implementar o DB eu sei, o problema eh nao querer implementar ele E nao querer usar mais herancao do que ja existe no swing/awt para facilitar o processo
Sugestao? Se achar o artigo, da um toque
Obrigado
|
-------------------------------------------------------
Guilherme Silveirahttp://blog.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/12/2004 14:20:42
|
Luca
Moderador
![[Avatar]](/images/avatar/17e62166fc8586dfa4d1bc0e1742c08b.jpg)
Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline
|
Olá
Canvas tem o método public void createBufferStrategy(int numBuffers)
Se não servir talvez haja outro modo de fazer:
Com swing quase todos os componentes tem double buffering ON por default. Se você tivesse um componente do tipo JPanel ou JComponent poderia usar o método setDoubleBuffered(true ou false). Mas isto não é seu caso.
Quando a gente quer dominar o double buffering de forma global (como na impressão por exemplo) a gente usa a classe javax.swing.RepaintManager
(This class manages repaint requests, allowing the number of repaints to be minimized, for example by collapsing multiple requests into a single repaint for members of a component tree. )
Ela tem o seguinte método:
Canvas não é swing mas é um Component. Então talvez se possa fazer:
[]s
Luca
This message was edited 2 times. Last update was at 13/12/2004 14:24:19
|
Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."
CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/12/2004 17:21:42
|
Guilherme Silveira
Administrador
Membro desde: 14/08/2002 10:09:26
Mensagens: 1096
Localização: Sao Paulo
Offline
|
Hmmmm,.... vou tentar as duas solucoes (mas ja tentei o primeiro faz tempo, sem muito sucesso)
Obrigadao
|
-------------------------------------------------------
Guilherme Silveirahttp://blog.caelum.com.br
 |
|
|
 |
|
|