Como criar uma grade em java se netbeans igual a dessa imagem

Sem ser muito específico, você pode criar um JPanel customizado contendo dois JLabel: 1 pra imagem e 1 pro texto. Para criar a grade em si, você pode usar o GridLayout.

Abraço.

Hhh Muito bom!

E como e que os produtos virao da base de dados:?

Através de uma consulta ao banco. JDBC, drivers, PreparedStatement e tal. Suponho que você entenda algo disso, ou que esteja procurando tutoriais disso.

Abraço.

Entendo sim de BD… Como linkar determinado jlabel que vai conter a imagem do produto com o produto x na bd

Isso vai depender da modelagem das classes.

Por exemplo, você pode criar uma Produto, que tem os dados de um produto carregado do banco (com SQL e afins).

class Produto{
  int id;
  String descricao;
  String caminho_imagem;

  // construtor, gets e sets, se necessário
}

E seu JPanel customizado pode receber um Produto desses, seja no construtor, seja num método como setProduto().

class JPanelProduto extends JPanel{
  Produto produto;
  JLabel labelDescricao;
  JLabel labelImagem;

  public JPanelProduto(Produto produto){
    this.produto = produto;
    // aqui você cria os JLabels, colocando os textos e imagens da classe produto. Ex:
    labelDescricao = new JLabel(produto.getDescricao());
  }
}

Abraço.

Hh entendi essa!

Mas uma pergunta!

Tem como fazer, que quando eu adiciono um produto na minha DB ele insere um jpanel no jform de busca de produtos e seta logo a imagem automaticamente

Tem. Você faz a inserção no banco e, se ela obtiver sucesso, cria o JPanelProduto com o produto que foi salvo. Algo assim:

Produto produto = new Produto();
// preenche o produto com dados nos campos do JFrame

// salva o produto no banco (não esqueça de preencher o id
boolean produtoSalvo = salvarProdutoNobanco(produto);

if (produtoSalvo){
  JPanelProduto pp = new JPanelProduto(produto);
  //aqui você adiciona o JPanelProduto de nome pp na grade
}

Abraço;