Ajuda com JFrame e JPanel

2 respostas
B

Estou criando minha classe Janela que extende de um JFrame. Quero inserir o panel no jframe e depois colocarei uma janela. Não tá rolando, adiciono o painel ao jframe mas fica o botão gigante na tela e não aparece mais nada. Alguém sabe me dizer oque falta?

public class Janela extends JFrame {

    JTextField jTxtField1 = new JTextField();

    public Janela() {
        setSize(300, 400);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        setTitle("JFrame, FUCK YEAH!");
        initComponents();
    }

    private void initComponents() {
        JPanel painel = new JPanel(new GridLayout(1, 3));
        JLabel jLabel1 = new JLabel("Pasta:");
        add(jLabel1);
        add(jTxtField1);
        JButton jButton1 = new JButton("Atualizar");
        add(jButton1);
        this.add(painel, BorderLayout.NORTH);
    }

    public static void main(String[] args) {
        new Janela().setVisible(true);
    }
}

P.S.: Postei na parte de interface gráfica mas acredito que não seja tão visitada quanto é aqui, por isso estou postando aqui também.

2 Respostas

G

Boa Tarde, é o seguinte no seu método initComponents vc tem que especificar onde vc está adicionando os teus componetes…
No seu caso, vc está adicionando diretamente no Container do JFrame:

add(jLabel1);

vc deve alterar o init, tenta assim:

private void initComponents() { JPanel painel = new JPanel(new GridLayout(1, 3)); JLabel jLabel1 = new JLabel("Pasta:"); painel.add(jLabel1); painel.add(jTxtField1); JButton jButton1 = new JButton("Atualizar"); painel.add(jButton1); this.add(painel, BorderLayout.NORTH); }

Com isso vc passa a incluir os componentes no painel que contém um Layout, que vc já definiu.
Tenta ae.

flw.

B

Nossa, que vacilo!

Agora foi, valeu ae cara!
:smiley:

Criado 26 de março de 2009
Ultima resposta 26 de mar. de 2009
Respostas 2
Participantes 2