Thiago, Bruno e Eduardo,
obrigado por testar o exemplo. Tenho algumas perguntas/observacoes:
Eduardo,
vc esta usando Linux tambem na PIII 450 196Mb ?
Bruno,
aquele programa para modelar com UML que vc rodou no Win95, foi feito com a
versao JDK 1.2.* ou 1.1.* + Swing ? Segue o resultado que vc pidiu:
java version "1.2.2"
Classic VM (build JDK-1.2.2-W, native threads, symcjit)
Thiago,
vc esta usando Win95 na sua maquina? Quanto a seu problema, veja no final.
Observacoes:
1) Tambem acho ainda que pode ser poblema de memoria, por isso nao relatei
o problema ate agora. Mas Rafael relatou o mesmo problema do cursor, com
uma maquina de 233Mhz, 64 MB!! Ai acho extranho ... Mal redesenho e'
geralmente asociado a memoria (a nao ser os casos conhecidos de misturar
componentes AWT com SWING), mas congelar a maquina e' muito extanho. Nos
requerimentos minimos da Sun para Java2 achei documentos contraditorios.
Uns recomendavam 32MB como minimo, outros 16MB. Quanto a CPU, apenas
colocaram 486.
2) Acho dificil ser problema de driver de video. Tenho instalado a ultima
versao do driver (a maquina e' um laptop Texas Instruments) e nunca tive
este tipo de problemas. Ja rodei aqui animacoes, fiz programas PowerBuilder
6, com aceso a BD Watcom (local), fiz prograas em VC++, etc. Sem falar que
todos os programas do tutorial do JDK 1.0.2 rodaram sem nenhum tipo de
problema visual.
3) Devo comprar uma outra maquina "razoavel" no fututo, inclusive para
usarla como "server", colocando um BD, etc. Mas de qq forma pretendo
continuar usando esta como "cliente" de programas com Swing.
Problema de Thiago,
nao tenho certeza, mas, como o Bruno recomendou, vale a pena ler o artigo
http://java.sun.com/products/jfc/tsc/archive/tech_topics_arch/mixing/mixing.
html
Ai vc vai ver que:
1) componentes pessados = todos os componentes antigos de AWT (Button,
Label, etc) + os componentes do Swing JFrame, JWindow, JDialog, JApplet.
2) componentes leves = todos os componentes Swing (JButton, JLabel, J*) -
os componenentes Swing mencionados anteriormente (Swing JFrame, JWindow,
JDialog, JApplet).
3) Existem problemas de re-desenho quando componentes pessados se sobrepoem
a componentes leves. Geralmente as partes dos pessados sempre se sobrepoem
aos leves.
4) Observe que JInternalFrame e' leve e JFrame e' pessado.
Recomendo:
a) se vc usa outros componentes pessados do AWT, tipo Button, etc, dentro
do JInternalFrame substitua eles pelos novos do Swing.
b) a Sun estava pensando colocar uma opcao para a gente poder setar um
JInternalFrame como pessado, mas acho que ate a 1.2.2 nao colocou isto.
Pode dar uma olhada na Beta 1.3.
c) vc precisa ter uma JFrame ? Nao tem como colocar o que vc quer numa
outra JInternalFrame ou outra classe que seja leve ?
d) quebragalho: tente re-pintar os JInternal Frames apos ter arrastrado o
JFrame.
Abracos a todos,
Daniel
At 14:12 03/11/1999 -0200, Thiago Rodrigues de Almeida wrote:
> Daniel, testei o seu exemplo e na minha maquina funcionou perfeitamente.
> Estou utilizando o jdk1.2.1 em um Pentium II 350 64 MbRam.
>
> Eu particularmente nunca tive apenas um unico problema com o uso de swing
>e gostaria que me ajudasse.
> Tenho um JinternalFrame em um JdesktopPane. O problema eh q quando eu crio
>um JFrame e mostro por cima do Jdesktop, no momento em q estou arrastando a
>janela do frame, o rastro da janela fica aparecendo, assim, apagando o q
>esta por tras (no caso o JdesktopPane e seus JinternalFrame).
> Se alguem souber de algo nesse sentido, por favor me ajude.
>
>----- Mensagem original -----
>De: Daniel Anibal Mazzuca [SMTP:[EMAIL PROTECTED]]
>Enviada em: Quarta-feira, 3 de Novembro de 1999 12:55
>Para: Bruno Souza (Sun Microsystems)
>Cc: Lista Java
>Assunto: Re: Problemas com visualizacao
>
>Bruno,
>
>obrigado pela dica do artigo, uma leitura bem interessante. Alias, meus
>parabens `a Sun, ha muito tempo que trabalho em TI e nunca vi tanta
>informacao publica e de excelente qualidade e organizacao, como a
>disponivel pela Sun.
>
>
>Infelizmente os problemas reportados por Rafael e por mim nao estao
>relacinados com a exlicacao do artigo. No artigo explica quais sao os
>problemas de visualizacao que podem ocorrer se sao misturados componentes
>heavyweight do AWT com componentes lightweight do Swing.
>
>Os problemas que reportei sao baseados em exemplos que usam apenas
>componentes Swing. A modo de exemplo, o seguinte programa (super simples) :
>
>import javax.swing.*;
>import java.awt.event.*;
>
>public class Teste {
>
> public static void main (String args[]) {
>
> JFrame myFrame = new JFrame ("Teste");
>
> myFrame.addWindowListener (new WindowAdapter () {
>
> public void windowClosing (WindowEvent e) {
>
> System.exit(0);
>
> }
>
> });
>
>
> JPanel myPanel = new JPanel ();
>
> JButton myButton = new JButton ("My Button");
>
> myPanel.add (myButton);
>
> myFrame.setContentPane (myPanel);
>
> myFrame.pack();
>
> myFrame.setVisible (true);
> }
>
>}
>
>
>
>
>possui os seguintes problemas:
>
>1) o desenho do cursor do mouse (arrow) e' apagado (clipp) ao presionar o
>JButton (tambem acontece ao clicar qq outro componente Swing). O cursor
>volta a ser re-desenhado assim que o mouse e' movimentado novamente, porem
>muitas vezes o componente nao e re-desenhado corretamente. Isto ocorre
>sempre.
>
>2) ao aumentar o tamanho do JFrame, na horizontal ou vertical, a maquina
>congela. Para voltar a funcionar somente dando "shut down". Isto ocorreu no
>exemplo acima (com apenas o Norton Antivirus rodando na maquina), em 3 das
>5 tentativas de resize, a saber:
>
>a) resize horizontal e vertical, arrastrando as bordas da janela ==>
>congelou, nem o movimento do mouse responde. Tive que restartar a maquina.
>
>b) idem a ==> nao congelou.
>
>c) idem a ==> nao congelou.
>
>d) idem a ==> congelou, nem o movimento do mouse responde. Tive que
>restartar a maquina.
>
>e) idem a ==> congelou, nem o movimento do mouse responde. Tive que
>restartar a maquina.
>
>3) Existem outros problemas de re-desenho, como por exemplo, ao rodar o
>aplocativo, se movimento a janela antes de que tenha seus componentes
>totalmente desenhados, os mesmos nao sao re-desenhados corretamente na nova
>posicao.
>
>Os problemas acima ocorrem com todos os exemplos que tenho feito com Swing.
>Como falei no e-mail anterior, nao achei bugs reportados no Site da Sun a
>este respeito, e por ser um problema que salta `a vista, achei que era um
>problema de falta memoria/CPU da minha maquina. Mas Rafael diz que tem uma
>maquina bastante poderossa e esta tendo os mesmos problemas... Por isto
>estou querendo saber quem esta usando Win95 e JDK 1.2.2 (disculpem o erro,
>mas por forca de costume coloquei SDK ao inves de JDK no e-mail anteior) e
>se esta trabalhando normalmente ou esta tendo estes problemas.
>
>
>Minha plataforma:
>
>JDK 1.2.2
>Windows 95
>Pentium 75Mhz
>RAM 16MB
>
>Para compilar : Javac Teste.java
>Para rodar: Java Teste
>
>
>Qq colaboracao sera bemvinda. Abracos,
>
>
>Daniel
>
>
>At 18:44 02/11/1999 -0300, Bruno Souza (Sun Microsystems) wrote:
>>
>>Pessoal,
>>
>>Eu infelizmente nao estou acompanhando essa discussao de perto, e
>>portanto nao vou dar uma resposta direta. Eu sugeriria aos
>>envolvidos a dar uma olhada no artigo:
>>
>>Mixing Havy and Light Components
>>http://java.sun.com/products/jfc/tsc/archive/tech_topics_arch/mixing/mi
>xing
>.html
>>
>>Isso vai te ajudar a entender as limitacoes dessa mistura, e talvez
>>explicar algumas das questoes levantadas, em especial as questoes
>>de redesenhamento e componentes que somem.
>>
>>Abracos,
>>
>>Bruno.
>>
>>Daniel Anibal Mazzuca wrote:
>>>
>>> Rafael,
>>>
>>> eu tenho exatamente os mesmos problemas, i.e, nao tinha problemas com os
>>> componentes do awt (SDK 1.0.2), mas quando coloquei o Swing, i.e. SDK
>>> 1.2.2, detetei que:
>>>
>>> 1) cursor do mouse some ao clicar nos botoes (re-aparece ao movimentar o
>>> mouse);
>>>
>>> 2) ao aumentar o tamanho das janelas, a maquina congela, nao todas as
>>> vezes, mas com muita frequencia (quase sempre);
>>>
>>> 3) o redesenho das telas e componentes tem problemas; muitas vezes
>quando
>>> uma janela/componente fica exposto apos ficar oculto, estes nao sao
>>> re-desenhados corretamente.
>>>
>>> Tentei ver no BD da Sun se tinham reportado estes bugs, mas nao achei
>nada
>>> parecido (alguns problemas de re-desenho foram reportados, mas nao se
>>> encaixavam exatamente com os que a gente menciounou).
>>>
>>> Por serem problemas que saltam `a vista logo no primeiro programa
>(ocorrem
>>> incluisive com os programas feitos pelo Tutotial da Sun), e tambem pelas
>>> caracteristicas dos problemas, cheguei ` a conclusao de que se tratava
>de
>>> falta de maquina/memoria, ja que estou trabalhando com um Pentium 100 e
>>> 16MB RAM. Mas agora que vc comentou que esta tambem com estes problemas
>e
>>> com uma maquina super-razoavel, estou duvidando do que pode ser.
>>>
>>> Por minha parte uso:
>>>
>>> Sdk 1.2.2
>>> Win 95
>>> Pentium 100
>>> RAM 16MB
>>>
>>> Um exemplo (super-simples) que congela ao fazer resize da janela ou que
>>> oculta o cursor do mouse ao clicar no botao:
>>>
>>> SwingApplication.java, do tutorial de Swing da Sun, no capitulo "A quick
>>> Tour of a Swing Application's Code".
>>>
>>> Rafael, vc esta usando SDK 1.2.2 ? Sobre OS Windows 95 ? Alguem esta
>usando
>>> 1.2.2 em plataforma Windows e nao tem este tipo de problemas ? Alguem
>mais
>>> esta com estes problemas usando a 1.2.2 em OS Windows ?
>>>
>>> Alguem tem uma ideia de que pde ser ? Bruno ?
>>>
>>> Grato,
>>>
>>> Daniel
>>>
>>> At 15:34 27/10/1999 -0200, Rafael Zancan Frantz wrote:
>>> > Charles, tenho problemas da mesma natureza dos seus aqui.
>Quando
>>> >eu utilizo o swing em programas standalone, a maquina fica muito pesada
>e
>>> >por onde o mouse passa da problemas. Quando eu pressiono um botao, por
>>> >exemplo, o mouse some e fica parece atras do botao entao quando eu mexo
>com
>>> >o mouse ele volta a parecer. Sao problemas deste tipo que tenho com o
>swing
>>> >e estou com uma marina boa (k6-233 64 MB) no meu ver. Estou usando o
>AWT
>>> >novamente e com ele nao tenho este tipo de problema. O que sera que e
>>> >isso?! Abracos Rafael.
>>> > Charles Pereira wrote: Olá pessoal! Algumas semanas
>atrás
>>> >mandei uma mensagem reclamando de alguns problemas de
>>> >visualização dos componentes da JFC. Quando o mouse
>corria
>>> >por cima dos componentes, havia uma falha no desenho dos mesmos,
>ficando
>>> >manchas sobre os mesmos. Testei em várias máquinas,
>algumas
>>> >dava erro outras não. Finalmente descobri o que estava causando
>o
>>> >erro. O maouse estva configuradao para mostrar rastro. Por onde o
>rastro do
>>> >mouse passava, estragava o desenho dos componentes. Façam o
>teste e
>>> >verifiquem se estou certo. Abraços e obrigado a quem se
>manifestou
>>> >quanto ao assunto. Charles Pereira.
>>> > --
>>> >-----------------------------
>>> >Rafael Zancan Frantz
>>> >[EMAIL PROTECTED]
>>> >risc.unijui.tche.br/~rfge
>>> >Tel.: +55 - 55 332 9093
>>> > +55 - 55 962 0301
>>> >-----------------------------
>>> >
>>> * Para nao receber mais e-mails da lista, acesse
><http://www.sun.com.br:8080/guest/RemoteAvailableLists>, coloque seu
>e-mail, escolha a lista <[EMAIL PROTECTED]> e de um <submit>.
>>
>>--
>>
>>
>>Bruno.
>>______________________________________________________________________
>>Bruno Peres Ferreira de Souza Sun Microsystems
>>System Engineer - Java Technologist [EMAIL PROTECTED]
>> if I fail, if I succeed, at least I live as I believe
>>* Para nao receber mais e-mails da lista, acesse
><http://www.sun.com.br:8080/guest/RemoteAvailableLists>, coloque seu
>e-mail, escolha a lista <[EMAIL PROTECTED]> e de um <submit>.
>>
>>
>* Para nao receber mais e-mails da lista, acesse
><http://www.sun.com.br:8080/guest/RemoteAvailableLists>, coloque seu
>e-mail, escolha a lista <[EMAIL PROTECTED]> e de um <submit>.
>
>
* Para nao receber mais e-mails da lista, acesse
<http://www.sun.com.br:8080/guest/RemoteAvailableLists>, coloque seu e-mail, escolha a
lista <[EMAIL PROTECTED]> e de um <submit>.