Isso acontece pois quando você executa o NetBeans, por padrão, ele roda com o Look and Feel (L&F) (aparência) parecido com o do Sistema Operacional. Sendo assim, a contrução de interfaces gráficas segue o mesmo L&F do NetBeans. Entretanto, quando você executa um programa feito em Swing, os componentes, por padrão, são rederizados usando o L&F padrão do Swing. A partir do Java 5, o L&F padrão é o OceanTheme (baseado no L&F Metal).
Enfim, para resolver isso você pode proceder de duas formas:
1 - Crie um novo ícone do NetBeans na sua área de trabalho, acesse as propriedades do ícone (botão direito -> propriedades) e insira o parâmetro --laf no destino. Ficaria algo assim:
Fazendo isso, quando você abrir o NetBeans novamente, ele terá a aparência padrão de um programa feito em Swing, usando para isso a classe javax.swing.plaf.metal.OceanTheme passada como valor do parâmetro --laf.
2 - A outra possibilidade seria você fazer o inverso, ou seja, forçar o seu programa a rodar no L&F usado pelo NetBeans. Isso dá um pouco mais de trabalho, pois o NetBeans vai executar de forma diferente em cada sistema operacional, sempre seguindo o L&F padrão do kit de janelamento do SO (que precisa ser configurado no código ou por meio de alguma forma de configuração externa), fazendo com que a aparência da sua interface gráfica não seja consistente. Uma forma de se fazer isso, seria você inserir, logo no início do método main, o seguinte trecho de código:
[code]public static void main( String[] args ) {
try {
for ( LookAndFeelInfo info : UIManager.getInstalledLookAndFeels() ) {
if ( “Nome do L&F Utilizado Aqui”.equals( info.getName() ) ) {
UIManager.setLookAndFeel( info.getClassName() );
break;
}
}
} catch ( UnsupportedLookAndFeelException exc ) {
exc.printStackTrace();
} catch ( ClassNotFoundException exc ) {
exc.printStackTrace();
} catch ( InstantiationException exc ) {
exc.printStackTrace();
} catch ( IllegalAccessException exc ) {
exc.printStackTrace();
}
// restante do método main aqui...
}[/code]
Eu recomendo que você use a primeira abordagem, dado que daquela forma, você terá um L&F uniforme em diversos SOs. Eu normalmente mantenho dois ícones do NetBeans. Um sem a opção do L&F, para trabalhar com outros tipos de projetos que não sejam usando Swing, e um ícone com a opção do L&F, para projetos que requerem construção de interfaces gráficas em Swing.
[]´s