Isso acontece pq o NetBeans, por padrão, usa o LookAndFeel parecido com o do sistema operacional.
Quando você constrói suas telas, elas ficam diferentes do que vão ficar na versão compilada do seu programa.
Para resolver isso, você tem duas opções: ou roda sua aplicação no LookAndFeel que o NetBeans usa, ou roda o NetBeans no LookAndFeel da aplicação.
Eu uso a segunda abordagem. Para isso, crie um ícone do NetBeans na área de trabalho (se já tiver, copie e cole o que já existe), entre nas propriedades no ícone (botão direito no ícone, propriedades). Na aba Atalho (selecionada por padrão), modifique o campo Destino (o primeiro campo) para passar um parâmetro ao NetBeans para mudar o LookAndFeel. Fica assim:
A opção --locale vai fazer a IDE executar em inglês (se não quiser, retire o --locale en_US).
A opção --laf vai informar ao NetBeans o LookAndFeel desejado.
O javax.swing.plaf.metal.OceanTheme é o LookAndFeel padrão do Java a partir da versão 5.0
[]´s