Layout de Janela

9 respostas
Naichiri-san

Olá,
Eu sou iniciante em Java e gostaria que alguém pudesse me ajudar. Estouquerendo colocar uma imagem para definir o layout do Frame, mas não acho nada parecido. Tentei definir em um JPanel, mas alguns parametros não se encaixam no que quero.

Alguém poderia me ajudar?

9 Respostas

InicianteJavaHenriqu

Deixa eu ver se entendir: você quer mudar o layout de seu JFrame em tempo de execução :?: o usuário clica em uma imagem, representando um layout manager, e o JFrame muda para o layout manager escolhido :?: Ex.: o usuário clica em GridLayout e seu JFrame assume este layout :?:

Naichiri-san

Mais ou menos isso, o que eu quero é que ele já inicie com o layout que eu previamente escolhi. Sem interação do usuário nessa parte.

InicianteJavaHenriqu

Sim. Entendi inicialmente o JFrame terá BorderLayout (por exemplo), então o usuário clica em um JButton (imagem) e troca o layout…

Tente colocar no evento do seu JButton, isto:

seuJFrame.setLayout(new FlowLayout());

P.S.: Talvez não dê certo, se seu JFrame tiver muitos componentes adicionados nele, eu acho.

flw :thumbup:

Naichiri-san

Obrigado InicianteJavaHenrique,
Me ajudou bastante :stuck_out_tongue:

InicianteJavaHenriqu

De nada :smiley: Funcionou :?:

Naichiri-san

Não funcionou :cry: ele aceita tudo menos a linha que instancia-o. Será que é problema do netbeans?

InicianteJavaHenriqu

Não. O problema é de lógica mesmo :wink:

E

Opa, também sou novo aqui, não entendi muito bem o que você realmente deseja. :frowning:

Porem, quando manipulo imagens geralmente utilizo um JPanel, e não um JFrame…
Posso até estar errado, mas como dizem “Fununcía”. :smiley:

ImageIcon img = new ImageIcon(“Imagens/PlanoDeFundo.png”);

label1 = new JLabel(img);

panel1.setLayout(new GridLayout(1, 1));

panel1.add(label1);

É mais ou menos isso, ou não tem nada a ver?
Um Abs!

InicianteJavaHenriqu
  • ou - :smiley:

Isto de JLabel gigante (do tamanho da imagem) também funciona, mas o ideal é sobrescrever o método paintComponent(); do JPanel e pintar a imagem.

:thumbup:

Criado 5 de abril de 2012
Ultima resposta 4 de mai. de 2012
Respostas 9
Participantes 3