| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/06/2007 18:36:10
|
mchiareli
JavaEvangelist
![[Avatar]](/images/avatar/03e4d3f831100d4355663f3d425d716b.png)
Membro desde: 04/04/2006 15:14:50
Mensagens: 397
Offline
|
Quando vc vai desligar o computador e aparece um diloago com as opções (Windows, Gnome, Kde, no mac eu nao sei se tem)....
Ae a janela de dialogo fica normal, com cor, e a tela em segundo plano começa a ficar preto e branco... é possivel fazer algo semelhante com swing, vc abrir um dialogo e fazer o jframe do fundo preto e branco?
|
codifica.wordpress.com |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/06/2007 19:27:48
|
RaulCarlin
JavaEvangelist
![[Avatar]](/images/avatar/0b94ce08688c6389ce7b68c52ce3f8c7.png)
Membro desde: 20/05/2005 12:58:30
Mensagens: 389
Localização: São Paulo
Offline
|
É complicado, mas acho que dá...
Se você tirar um print screen da tela, utilizar Jav2D para mostrar em tela cheia e ai mostrar um JDialog na frente, acho que assim dá...
O efeito você pode utilizar o ColorConvertOp.
O print screen faça assim:
Aí você terá uma imagem do seu desktop no momento em que você quer fazer o efeito, no caso uma tela com resolução 800x600.
É interessante essa sua idéia, é que não consigo te dizer o código já de cara, mas eu iria por este caminho...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/06/2007 20:28:52
|
mchiareli
JavaEvangelist
![[Avatar]](/images/avatar/03e4d3f831100d4355663f3d425d716b.png)
Membro desde: 04/04/2006 15:14:50
Mensagens: 397
Offline
|
entendi, não havia pensando nisso,
uma vez eu fiz algo parecido para simular uma janela transparente, eu tirava printscreen da tela, dava uma clareada na imagem para simular a transparecencia, e colocava de fundo no meu jdialog...olhando parecia realmente que era transparente a janela, mas havia alguns problemas, o jdialog precisa ser fixo na tela, pq a atualização da imagem nao tem um tempo de resposta bom, então fica dando "flick", mas foi legal até...
vou ver se dessa maneira, vai ficar legal, deopis posto o resultado aki....
|
codifica.wordpress.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/06/2007 19:55:34
|
mchiareli
JavaEvangelist
![[Avatar]](/images/avatar/03e4d3f831100d4355663f3d425d716b.png)
Membro desde: 04/04/2006 15:14:50
Mensagens: 397
Offline
|
resolvi fazer de outra forma, não ficou exatamente como eu queria, mas ficou interessante o efeito.
criei um jpanel transparente e seto ele como glasspane, com isso posso utilizar qualquer cor para o bloqueio.
segue o código:
para utilizar em um jframe por exemplo basta fazer:
para desbloquear basta:
obs: Ele bloqueia os eventos do mouse
|
codifica.wordpress.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/06/2007 05:42:18
|
RaphaelSantos
JavaGuru
Membro desde: 05/11/2006 02:51:13
Mensagens: 201
Offline
|
mchiareli wrote:resolvi fazer de outra forma, não ficou exatamente como eu queria, mas ficou interessante o efeito.
criei um jpanel transparente e seto ele como glasspane, com isso posso utilizar qualquer cor para o bloqueio.
segue o código:
para utilizar em um jframe por exemplo basta fazer:
para desbloquear basta:
obs: Ele bloqueia os eventos do mouse
em que parte exatamente ficaria esse codigo?
BlockingGlassPane glass = new BlockingGlasspane();
setGlassPane(glass);
glass.setVisible(true);
no main?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/07/2007 03:37:15
|
RaphaelSantos
JavaGuru
Membro desde: 05/11/2006 02:51:13
Mensagens: 201
Offline
|
Amigo, vi seu topico sobre o BlockingGlassPane ...
achei interessante pq tava justamente querendo bloquear a tela,
o que acontece, meu programa é um programa que ler uma URL e envia por email o conteudo da mesma. por isso quando apertamos no botao envia, ele demora um pouco para enviar pq faz um processamento longo.
ai seto o
BlockingGlassPane glass = new BlockingGlasspane();
setGlassPane(glass);
glass.setVisible(true);
no inicio do actionPerformed mas ele só trava a tela no final, quando aparece a mensagem de MENSAGEM ENVIADA COM SUCESSO...
mas ele teria que travar antes justamente pro usuario nao ficar mexendo...
voce sabe o que ta acontecendo???
exemplo do meu codigo
onde o metodo enviaEmailTo() no final tem o glass.setVisible(false)...
, logo ele nao deveria travar de inicio ja que o codigo esta antes do enviaEmailTo()????
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/07/2007 12:14:06
|
rodrigo.assumpcao
Entusiasta Java
Membro desde: 21/03/2007 01:12:40
Mensagens: 23
Offline
|
Não necessáriamente cara...
Se seu enviaEmailTo tiver algum processamento que faça com que o swing não faça um "refresh" ele só irá aparecer no final mesmo...
Tenta fazer o mesmo que vc fez, mas colocando um for mto (mas mto mesmo) grande ao invés do enviaEmailTo... mesmo resultado...
Porq vc não coloca o enviaEmailTo numa Thread separada??
Isso deve resolver seu problema...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/07/2007 05:31:22
|
RaphaelSantos
JavaGuru
Membro desde: 05/11/2006 02:51:13
Mensagens: 201
Offline
|
rodrigo.assumpcao wrote:Não necessáriamente cara...
Se seu enviaEmailTo tiver algum processamento que faça com que o swing não faça um "refresh" ele só irá aparecer no final mesmo...
Tenta fazer o mesmo que vc fez, mas colocando um for mto (mas mto mesmo) grande ao invés do enviaEmailTo... mesmo resultado...
Porq vc não coloca o enviaEmailTo numa Thread separada??
Isso deve resolver seu problema...
rodrigo, e como eu separaria as Threads??? no caso toda aplicação ja é uma thread ne? ou eu teria que criar 2 nesse caso??
caso seja apenas criar mais uma, onde eu criaria(em que parte do codigo)???
eu criaria usando new Thread(new Runnable() {
public void run() });
???
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/07/2007 09:42:29
|
RafaelRio
Java Ninja
![[Avatar]](/images/avatar/e81218f96c55d1006352ed0a3b08d790.jpg)
Membro desde: 05/09/2006 06:52:42
Mensagens: 255
Localização: São Paulo
Offline
|
RaphaelSantos wrote:
rodrigo.assumpcao wrote:Não necessáriamente cara...
Se seu enviaEmailTo tiver algum processamento que faça com que o swing não faça um "refresh" ele só irá aparecer no final mesmo...
Tenta fazer o mesmo que vc fez, mas colocando um for mto (mas mto mesmo) grande ao invés do enviaEmailTo... mesmo resultado...
Porq vc não coloca o enviaEmailTo numa Thread separada??
Isso deve resolver seu problema...
rodrigo, e como eu separaria as Threads??? no caso toda aplicação ja é uma thread ne? ou eu teria que criar 2 nesse caso??
caso seja apenas criar mais uma, onde eu criaria(em que parte do codigo)???
eu criaria usando new Thread(new Runnable() {
public void run() });
???
Você pode usar a classe SwingWorker (texto sobre essa classe), ou a classe Task, do Swing App. Framework (JSR-296).
|
Rafael Fiume.
Yes, Nós Temos Bananas
Sun Certified Programmer for the Java Platform, Standard Edition 6
Sun Certified Web Component Developer for the Java Platform, Enterprise Edition 5
Nullius in verba.
"A palavra de nenhum homem será a final."
Lema da Royal Society, associação de cientistas de Londres, em 1660. Entre os seus membros e presidentes esteve Isaac Newton. |
|
|
 |
|
|