Boa tarde!
Gostaria que me ajudassem em meu problema, e me dizendo se estou utilizando uma má prática em meus aplicativos.
Na empresa onde trabalho, os monitores são de 17 polegadas ou maiores, com resolução de vídeo 1024 x 768. Por isso, sempre criei meus JFrames com este tamanho. Esta semana, enviei uma demonstração para um amigo, que teve problemas com um monitor de 14 polegadas, alguns campos não aparecereram, “fugiram” da tela. Óbvio que se eu roda-lo em um netbook, por exemplo, também terei esse problema.
Como não ter essa preocupação com a tela ou resolução de vídeo? Seria utilizando o pack()? Em caso afirmativo, podem me dar um exemplo de como ele é utilizado?
Obrigado pela ajuda!
E ai cara beleza pura?
Em questão de má prática creio que não, vc apenas está deixando sua aplicação atingir um único público, o pessoal que tem monitor de 17", kkkkkk, brincadeiras a parte, também passei por esse problema e pesquisando aqui no fórum mesmo achei algo interessante sobre essa API:
http://download.oracle.com/javase/6/docs/api/java/awt/Toolkit.html
Estude um pouco os métodos
e
Eles podem te ajudar no que vc precisa
Qualquer coisa se não conseguir, posta sua dúvida que a gente te mostra algum exemplo beleza? Mas é bom pesquisar primeiro, recomendo também estudar legal o link que passei acima, ja te responde bastante coisa.
falou e abraço
Hehehehe!
Obrigado pela ajuda, Peter Parker!
Ainda não tenho como testar, mas me diga se estou entendendo esses métodos:
//Tamanho da Tela
Toolkit.getDefaultToolkit().getScreenSize();
//Resolução da Tela
Toolkit.getDefaultToolkit().getScreenResolution();
//Muda Configuração da Tela (tem fullscreen tambem)
JFrame frame = new JFrame();
GraphicsConfiguration gc = frame.getGraphicsConfiguration();
GraphicsDevice gd = gc.getDevice();
gd.setDisplayMode(new DisplayMode(800, 600, 24, 60));
Se eu fizer meu aplicativo para a resolução 1024x768, o método acima vai identificar os tamanhos da tela, certo? Mas ele vai ajustar o tamanho e o posicionamento dos demais componentes, como JTable, JTextfields, JButtons etc ou ele só vai alterar o tamanho do JFrame, sem alterar os componentes?
Abração!
Cara quanto a utilização do Toolkit é isso mesmo, agora essas duas classes:
GraphicsConfiguration gc = frame.getGraphicsConfiguration();
GraphicsDevice gd = gc.getDevice();
sinceramente não utilizei e infelizmente não posso responder o funcionamento delas (ainda, rsrsrs), utilizei dessa forma pra fazer alguns testes e funcionou legal:
int largura = Toolkit.getDefaultToolkit().getScreenResolution().width;
int altura = Toolkit.getDefaultToolkit().getScreenResolution().height;
JFrame quadro = new JFrame("Resolução Mutante, kkkkkk");
quadro.setSize(largura, altura);
esse é o exemplo que eu tenho pra te mostrar e pra mim funcionou, se você conseguir alguma coisa diferente, posta ai pra gente ver beleza?
deixa eu ir que o J.J. ta me chamando no jornal… kkkkkkkkkkkkkkk
abraço
Por que vc não usa os layout managers e deixa suas janelas redimensionáveis?
Não só é uma boa prática em Swing, como também deixa sua aplicação mais multiplataforma.
Sem falar que não existe qualquer tipo de codificação para vc tratar mudanças no tamanho das janelas.
Segunda-feira farei uns testes no netbook da empresa. Sinceramente, não sei se entendi direito. Na verdade, entendi o que deve ser feito, mas não sei como fazer.
Mais uma vez, me culpo por ter optado em usar o NetBeans no início de aprendizagem. “Pequenas coisas” me dão surra. Pulei muitas etapas de aprendizagem por causa dessa “facilidade”.
Consegui largar a DefaultTableModel, agora vou criar meus JFrames sem os códigos prontos do NetBeans. Farei o que devia ter feito no começo.
Obrigado pela ajuda!