Melhor organização do Swing

13 respostas
antraceno

Olá, sou novato por aqui e em Java, e gostaria de saber como organizar os componentes swing em relação à posição. Por exemplo, em Delphi, deixamos os componentes no local que queremos com muita facilidade (claro :lol: ) , mas em Java eu só conheço as propriedades “North”, “South”… e não consigo colocar os componentes na posição onde quero, pois um botão na posição na posição South vai lá pra baixo.
E outra que gostaria de saber é de algum método que deixe meu JFrame sem permissão para ajustar o tamanho da tela, por exemplo, só maximizando, minimizando e restaurando.

Um abração! :smiley: :smiley: :smiley:

13 Respostas

kinow

Você tá se referindo ao LayoutManager, já mexi om delphi e VB bem pouco, vi que é mais fácil que Java pra desenhar as telas. Talvez você se adapter melhor com o NetBeans, ou JGoodies + Abeille Forms Designer.

Abraços. Kinoshita.

Sombriks

Swing???

nb 5.0!!!

http://www.netbeans.org/

ei, vc tb tem a opção de estudar a fundo cada layout manager e uasr eles “na unha”, :smiley:

pq da última vez q eu mostrei o netbeans 5.0 prum colega que programa java SEM uma dessas IDE’s pesadas ele me chamou de “programador Delphi”, :smiley:

antraceno

Valeu, galera. Eu uso o Eclipse. Foi bom saber que tem que se aprofundar no LayoutManager, eu vou dar uma olhada mais. E sobre o dimensionamento da janela? Vocês sabem me responder?

Valeu!

lucao

Cara, eu tb me perco um pouco com isso. Quando não tem mais jeito eu uso o setBounds mesmo.
Mas sobre o dimensionamento o que vc quer saber mais especificamente ?

Sombriks

Comenta mais ae q eu não entendi!

antraceno

Assim, eu crio meu JFrame e digo o tamanho dele. Mas o usuário continua dimensionando ele à vontade. Eu queria que ele ficasse fixo, sem que o usuário possa deixar a tela bem pequeneninha, e só ter as opções de minimizar, maximar e fechar, lá na diagonal direita.

jose_neto

Bom para que a janela não possa ser redimensionada, vc deve utilizar um método da classe JFrame chamado setResizable(false); e se querer que redimensione a tela eh só utilizar setResizable(true);
para isso seria bom que vc declarasse o método construtor e dentro dele colocar esse método citado anteriormente.

exemplo: construtor() // construtor - mesmo nome da classe { setResizable(true); . . //outros métodos . . }
valeu espero que eu possa ter ajudado em relação a sua dúvida…

Rodrigo_Manhaes

Use setResizable(false).

[edit: acesso lento dá nisso… :frowning: ]

antraceno

Pessoal, valeu mesmo, hein? :slight_smile:

Mantu

Se vc for fazer na unha, vc também pode setar o layout para null, só que aí vc tem que setar o top, left, width e height de cada componente que por na tela (use o componente.setBounds(int, int, int, int)).
A desvantagem é que vc tem que calcular na mão a posição e as dimensões de cada compónente, o que é bastante trabalhoso. A vantagem é que vc tem uma liberdade infinitamente maior no desenho da sua tela.

Rodrigo_Manhaes

Pô, mas isso dá mais trabalho que aprender GridBagLayout…

Mantu

Hehehehe, não tenha dúvidas disso… O acabamento fica mais preciso, mas o trampo que dá… olha só que beleza, fiz isso num dia em que tava com pouca grana, nenhum amigo por perto, nenhum jogo no micro, e muito tédio (Veja o pacote gui)

antraceno

Pronto, é isso que o Mantu disse que eu tava querendo saber mesmo. Quero ajeitar na unha mesmo porque o programinha que eu vou fazer vai precisar de uns 4 componentes só. Valeu mesmo, hein? :smiley:

Criado 21 de abril de 2006
Ultima resposta 25 de abr. de 2006
Respostas 13
Participantes 7