Componentes ocupando toda JFrame

6 respostas
Vanilson

Galera td bem, bem pessoal eu sou novo no mundo do JAVA e no entanto estou com dificuldades em criar interfaces.
Eu criei uma interface basica para login so que as TEXTFIELDS e os JBUTTONS estão a ocupar toda JFRAME e sempre q eu tento estender a janela q contém os elementos os componentes vão seguindo a janela, eis o codigo:

import javax.swing.*; import java.awt.*; public class login extends JFrame { private JLabel nomelbl,senhalbl; private JTextField nometxt,senhatxt; private JButton logar, cancelar; public login() { super("..:LOGIN:.."); JPanel painel1 = new JPanel(); JPanel painel2 = new JPanel(); setLayout(new GridLayout(3,3)); nomelbl = new JLabel("Nome", nomelbl.RIGHT); add(nomelbl); nometxt = new JTextField(14); add(nometxt); senhalbl = new JLabel("Senha", senhalbl.RIGHT); add(senhalbl); senhatxt = new JPasswordField(8); add(senhatxt); logar = new JButton("Logar"); add(logar); cancelar = new JButton("Cancelar"); add(cancelar); } public static void main(String[] args) { login logar = new login(); logar.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); logar.setSize(200,200); logar.setVisible(true); } }
Alguem sabe o que pode estar a acontecer.

6 Respostas

criador

Você tem que definir o seu layout.

Se não utilizará layout, defina nulo.

setLayout(null);

Acredito que com isso já funcione.

Abraço!

Vanilson

Cara, eu estou a usar o GridLayout como Layout.

criador

Cara, dê uma olhada neste link.

Irá te ajudar muito.

http://java.sun.com/docs/books/tutorial/uiswing/layout/gridbag.html

Abraço!

GeekJava

Você está usando um objeto JButton de nome “logar” e depois criou um objeto da sua classe também com o nome de “logar”, pode estar dando conflito!

CrOnNoS

Pela descrição do seu problema é só uma questão de layout como já falaram.
Você está utilizando o grid mas o comportamento do grid não parece ser bem o que você quer.
Se o seu problema for apenas não dexar os componentes encostar nas bordas, você pode adicionar uma cola ( Box.createGlue() ) nas linhas e colunas das bordas.
Se o comportamento do grid não te satisfazer então sua solução seria usar outro layout mesmo ( gridbag nunca me deixou na mão =P ).

Giovanni_Ritchie

Olhe o escopo!

Criado 14 de outubro de 2009
Ultima resposta 15 de dez. de 2009
Respostas 6
Participantes 5