Dúvidas em Swing

Galera,

Faz um tempo que não trabalho com Swing e vem surgindo umas dúvidas:

:arrow: Tem como deixar um JFrame com tamanho fixo, ou seja, o usuário não pode redimensioná-lo

:arrow: Eu tenho um JPanel com FlowLayout, dentro dele eu tenho um JLabel e JTextField. Gostaria de definir o tamanho que cada componente irá ocupar e o alinhamento para eles. Tem jeito com o FlowLayout ou tem que ser outro LayoutManager?

Obrigado

1 - setResizable(false);

2 - setLayout(null);

component.setBounds(int x,int y,int width,int height)

espero que ajude :smiley:

Valeu Ricardo.

:arrow: No JFrame está rodando belezinha…

:arrow: Será qeu não tem nenhuma outra solução para o posicionamento dos componentes? Eu não queria usar um LayoutManager null. Em todo caso, obrigado, ainda vou pesquisar mais um pouco. Talvez encontre alguma solução.

faz um tempo ue eu no mexo com swing tb…

mas caso vc nao queira usar o layout null, tem duas coisas que vc pode fazer que talves serve pra voce…

por exemplo em um JTextField se vc quer aumentar o tamanho dele, vc pode jogar o construtor dele um int que é o tamanho de colunas dele (eu acho que é isso, da uma verificada na API), por exemplo

JTextField texto = new JTextField(15)

sobre alinhamento, da pra vc escolher Left, Right, Center, e mais umas coisinhas como espaçamento entre a borda e acima, no construtor do FlowLayout, algo mais ou menos assim

painel.setLayout(new FlowLayout(FlowLayout.LEFT,2,2));

da um olhada nas APIs que é melhor

espero ter ajudado :slight_smile:

Quanto às colunas do JTextField beleza…

Na verdade o que eu estou tentando fazer é uma simples tela de cadastro, mais ou menos assim:

[code]------------------------------------
Campo | TextField

Campo | TextField

Campo | TextField
------------------------------------[/code]

Primeiro eu tenho um GridLayout(3,1). Em cada célula do Grid eu tenho um JPanel. Esse JPanel utiliza o FlowLayout. Cada JPanel tem seu JLabel e JTextField. O “problema” é que ele centraliza os dois componentes e divide o espaço igualmente entre eles.

Fico grato se alguém puder dar uma sugestão… Vou dar uma olhada melhor no FlowLayout.

Eu desisti… vou montar com o GridBagLayout mesmo…

ae Marco
eu entendi a sua situação…

e se dentro do JPanel vc colocar o FlowLayout do jeito que eu disse alinhando ele a esquerda nao da certo???

painel.setLayout(new FlowLayout(FlowLayout.LEFT,1,1));

isso pra mim funciona quando eu mexo com swing

Existe um gerenciador de Layout chamado GridBagLayout e ele funciona como uma matriz.

(0,0) (1,0) (2,0)
(0,1) (1,1) (2,1)
(0,1) (1,2) (2,2)

imagina que cada posição vc consengue colocar o componente que vc quer.

Certo.

[quote=“marcoantoniorocha”]Quanto às colunas do JTextField beleza…

Na verdade o que eu estou tentando fazer é uma simples tela de cadastro, mais ou menos assim:

[code]------------------------------------
Campo | TextField

Campo | TextField

Campo | TextField
------------------------------------[/code]

Primeiro eu tenho um GridLayout(3,1). Em cada célula do Grid eu tenho um JPanel. Esse JPanel utiliza o FlowLayout. Cada JPanel tem seu JLabel e JTextField. O “problema” é que ele centraliza os dois componentes e divide o espaço igualmente entre eles.

Fico grato se alguém puder dar uma sugestão… Vou dar uma olhada melhor no FlowLayout.[/quote]