Textfield aparece só um risco. Pq?

2 respostas
M
package primeira.swing;

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class PrimeiraSwing extends JFrame
{
    String nome;
    
    JLabel labelNome;
    JTextField tfNome;
    JLabel labelEndereco;
    JTextField tfendereco;
    
    JButton botaoSair;
    JButton limparBotao;
    
    public PrimeiraSwing()
    {
        
        GridBagLayout layout = new GridBagLayout();
        GridBagConstraints gbc = new GridBagConstraints();
        
        getContentPane().setLayout(layout);
        
        labelNome = new JLabel("Nome");
        labelEndereco = new JLabel("Endereço");
        
        tfNome = new JTextField(30);
        tfendereco = new JTextField(30);
        
        botaoSair = new JButton("Sair");
        limparBotao = new JButton("Limpar");
        
        gbc.gridy = 0; // linha
        gbc.gridx = 0; // coluna
        gbc.insets = new Insets(5, 5, 5, 5);
        layout.setConstraints(labelNome, gbc);
        getContentPane().add(labelNome);
        
        gbc.gridy = 1; // linha
        gbc.gridx = 0;
        gbc.insets = new Insets(5, 5, 5, 5);
        layout.setConstraints(labelEndereco, gbc);
        getContentPane().add(labelEndereco);
        
        gbc.gridy = 0;
        gbc.gridx = 1;
        gbc.insets = new Insets(5, 5, 5, 5);
        layout.setConstraints(tfNome, gbc);
        getContentPane().add(tfNome);
        
        setSize(400, 300);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
        
    }
    public static void main(String[] args)
    {
        new PrimeiraSwing();
    }
}

2 Respostas

InicianteJavaHenriqu

Porque seu gerenciador de layout está mostrando somente um pixel do JTextField.

:thumbup:

wagnerfrancisco

Chame o método pack() antes do setVisible(true). Este método vai considerar o preferredSize dos componentes.

Criado 6 de agosto de 2012
Ultima resposta 6 de ago. de 2012
Respostas 2
Participantes 3