Boa noite pessoal, eu tenho um aplicação terminada e aqui no meu not onde escrevi ela roda normalmente. Porem em um outro PC a interface grafica ficou bagunçada, como se o JFrame tivesse reduzindo o tamanho e não comporta os componentes. Alguém sabe o que pode ser isso? Se é erro meu de programação ou se é alguma configuração no PC. Segue um printe de como está aparecendo.
Isso acontece pela configuração de Layout do seu JFrame, da pra mudar isso, mas se mudar vai desajustar como aconteceu, com isso vai ter que ajustar tudo de novo,
e nao vai acontecer mais isso, vai ter sua posição estatico, o auto size dos componentes voce pode deixar, assim vai funcionar em qualquer resolução.
Pelo que percebi voce esta usando o “Netfeijão” com isso fica mais facil vc adaptar isso.
Com o botão direito do mouse voce clica no seu JFrame clique na opção Definir Layout e escolhe Desenho Absoluto
A seleção vermelha indica o auto ajuste dos componentes em.
E não esqueça de configurar as âncoras dos seus componentes pode influenciar no layout em cada resolução…
Quando há muita diferença de resolução e sua tela é muito “carregada” como a sua é muito difícil ficar ok, penso que a melhor solução para o seu caso é jogar parte dos itens para outras abas.
Particularmente uso o Mig Layout que considero mais simples e produtivo, e ainda permite dimensionar os componentes até por % do container, mas como disse no seu caso acho que ainda não será uma solução para todas as resoluções.
Layout Absoluto nunca deve ser usado. Se com layout managers sua tela está dando problemas, com layout absoluto ela vai ficar ainda pior. E não vai ser redimensionado.
Você usou setLayout(null) em algum lugar? Esse é o equivalente ao layout absoluto que o colega falou.
[quote=ViniGodoy]Layout Absoluto nunca deve ser usado. Se com layout managers sua tela está dando problemas, com layout absoluto ela vai ficar ainda pior. E não vai ser redimensionado.
Você usou setLayout(null) em algum lugar? Esse é o equivalente ao layout absoluto que o colega falou. [/quote]
Não usei setLayout(null) em nenhuma parte, somente o padrão mesmo. Veio me aparecer essa reclamação já depois de 3 meses da aplicação em produção. Executada em aproximadamente 500 pcs, e somente agora veio essa queixa e a unica até o momento. Então não se deve usa o absoluto, bom saber. Mas como arranjar isso então? Certos componentes dessa tela não podem ser movidos dai.
[quote]
Se o problema é tão específico, é melhor pegar exatamente qual a configuração do PC que esse erro ocorre. [/quote]
Reforçando o Vini, pegue a config do PC e principalmente a JRE.Tive problemas ano passado com um erro de layout em uma JRE antiga que não dava no atual…um parto, e similar ao seu.
Gente perdão a ignorância, mas eu infelizmente não sei fazer isso que os senhores estão recomendando. Quais configs pegar? E como vou saber qual JRE certa a recomendar?
Agradeço muito a boa vontade de vocês.
O que o Vini disse é que você tem de determinar a versão do Java em que seu programa está rodando e a resolução do monitor principal. Se a versão for inadequada ou a resolução muito baixa, você pode simplesmente jogar uma mensagem na cara do usuário.
E para saber qual a JRE certa, basta testar seu programa com diversas JREs. Pode ser que seu programa seja bastante tolerante ou não - só dá para saber testando.
Você pode instalar 4 versões diferentes do Java (1.4, 5.0, 6.0, 7.0 e 8.0) na mesma máquina - basta instalar as mais antigas antes das mais novas, e na hora de testar, rodar seu programa de forma que a versão adequada da JVM seja chamada, em vez de dar um duplo clique no jar (que irá chamar sempre a última versão instalada).