Componente JLabel não fica posicionado

Pessoal,

estou fazendo um exemplo de GUI do livro do Deitel e não consigo fazer o JLabel ficar posicionado no alto à esquerda do JFrame. Estou usando o GridBagLayout. Pelo livro é fácil de entender, mas o comportamento visual é muito doido. Quero que o componente vá para a linha zero, só que a linha zero já começa no meio do frame. Alguém pode ajudar?

	// Configura a GUI
	public Janela()
	{
		super("Teste GUI");
		
		// Instancia e define o grid bag
		container = getContentPane();
		layout = new GridBagLayout();
		container.setLayout(layout);
		
		// Instancia as regras de posicionamento 
		posicionamento = new GridBagConstraints();
		
		// Configura componentes
		configLabelProduto();
		configTextoProduto();
		configLabelQuantidade();
		configTextoQuantidade();
		
		posicionamento.fill = GridBagConstraints.HORIZONTAL; 
		adicionaComponente(lblProduto, 0, 0, 1, 2);
		
		posicionamento.fill = GridBagConstraints.HORIZONTAL;
		adicionaComponente(txtProduto, 0, 2, 1, 2);
		
		// Configurando o frame principal
		setExtendedState(MAXIMIZED_BOTH);
		setSize(1366, 768);
		setResizable(true);
		setVisible(true);
	}
	
	private void adicionaComponente(Component componente, int linha, int coluna, int largura, int altura)
	{
		// Define a posição
		posicionamento.gridx = coluna;
		posicionamento.gridy = linha; // AQUI É O PROBLEMA IMAGINO
		
		// Define o espaçamento
		posicionamento.gridwidth = largura;
		posicionamento.gridheight = altura;
		
		posicionamento.weightx = 1;
	
		// Adiciona efetivamente ao container
		layout.setConstraints(componente , posicionamento);
		container.add(componente);
	}

Aparentemente está faltando setar o peso em y (weighty) como 1, para que a célula cresça e chegue no topo do container.