Icon icone = new ImageIcon(getClass().getResource("/bomba.ico"));
Assim você não terá problemas em acessar a imagem também de dentro de um jar.
O ícone deve estar na raiz do seu projeto (você pode especificar também pastas, como /images/bomba.ico) ou, se eu não me engano, pode também fica na pasta resource do Netbeans.
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:138)
at campominado.Tela.abrir(Tela.java:70)
....
Como vc provavelmente está usando o NetBeans 6, em “tempo de projeto”, clique no botão e vai em propriedades “Icon”, e lá defina de onde vc vai buscar a imagem, que o Netbeans vai gerar este código pra vc, claro que escrever na mão é bem melhor por questões de aprendizagem, mas pra ganhar tempo este recurso do Netbeans ajuda muito. Como sugestão sugiro q vc crie um pacote em seu projeto e lá coloque sua imagens(sugiro que sejam PNG, na minha humilde opinião é melhor).
Acho q ele gera os botoes em tempo de execução… pq ta usando um array de JButton…
Use o getClass().getResource()… ponha seu icone dentro do projeto, em algum pacote, coloque o endereco de pacote do icone, como vc faria num import de uma classe… seja feliz…
Ah mais uma sugestão: verifique o tamanho do seu botão… pode ser q ele esteja pequeno demais para apresentar a imagem que vc quer…