Só mostra a Splash Screen no NetBeans

Quando eu executo o meu aplicativo pelo NetBeans ele mostra a Splash Screen normalmente …

Depois do processo de inicialização concluído, eu chamo uma classe que mostra o menu …

Quando eu executo o aplicativo através de um atalho que eu criei (utilizando o "javaw -jar …"), ele não mostra a Splash Screen. Ele fica parado o tempo de inicialização sem mostrar nada, e depois então mostra o menu principal.

Aqui vai a minha classe principal, que é a que estou chamando a partir do atalho … É ela quem ativa a Splash Screen e depois chama a classe que monta o menu …

O "For" que tem alí é para simular uma demora na inicialização do programa. No NetBeans ele fica mostrando a Splash Screen enquanto o contador é mostrado. Já na execução através do atalho ele não mostra a Splash Screen e apresenta o menu principal após ter terminado o contador…

[code]/*

  • BomGourmet.java
  • Created on 20 de Julho de 2006, 13:25
  • To change this template, choose Tools | Template Manager
  • and open the template in the editor.
    */

package bomgourmet;

import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.;
import javax.swing.event.
;

public class BomGourmet {

/** Criar uma nova instância da classe BomGourmet */
public BomGourmet() {
}

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {

     try {
        UIManager.setLookAndFeel("org.jvnet.substance.SubstanceLookAndFeel");
     } catch (UnsupportedLookAndFeelException ulafe) {
       System.out.println("Substance failed to set");
       System.exit(0);
     } catch (ClassNotFoundException cnfe) {
       System.out.println("Substance not found");
       System.exit(0);
     } catch (InstantiationException ie) {
       System.out.println("Substance failed to instantiate");
       System.exit(0);
     } catch (IllegalAccessException iae) {
       System.out.println("Access denied");
       System.exit(0);
     }
            
    Splash telasplash = new Splash("image/logo.jpg");
    telasplash.addManualProgressBar(0, 50000);
telasplash.setProgressBarString("Aguarde ... Inicializando o sistema ...");
telasplash.showSplash();
    
    for (int i = 0; i < 50000; i++) {
       System.out.println(i);
       telasplash.setProgressBarValue(i);
    }

    InicializaSistema.GetInstance().Inicializa();
    
    // Chama a aplicação principal
    MPrincipal menuprinc = new MPrincipal();
    
    telasplash.hideSplash();
    menuprinc.initApplication();
           
}

}
[/code]

Alguém sabe o que pode ser?

coloca o código da splash
se for o exemplo q tem no guj…
O form se adapta ao tamanho da imagem…
se ele não acha a imagem ele não exibe nada…
então verifique se existe a imagem q vc está chamando…

OBs. Tente por o caminho completo da imagem… se for posta novamente q dou a solução

Não é o exemplo do GUJ, é outro exemplo, mas realmente, coloquei o caminho completo e ele achou …

Eu consegui resolver colocando nas propriedades do atalho, no campo “Iniciar em”, o diretório onde se encontra o sistema …

Era essa a solução que você ia dar? Ou a solução envolve algo dentro do código Java?

eu em vez de usar o endereço completo uso endereço de projeto…

por exemplo:

private final String imgName = “MeuProjeto/meuPacote/Minha_Imagem.jpg”;

[quote=Flasoft]eu em vez de usar o endereço completo uso endereço de projeto…

por exemplo:

private final String imgName = “MeuProjeto/meuPacote/Minha_Imagem.jpg”;[/quote]

Não é uma boa solução também. A melhor solução é adicionar as imagens que você quer usar dentro de um pacote do seu projeto (que vai acabar sendo empacotado junto com seu .jar) e referenciar esta imagem da seguinte forma:

// exemplo para carregar imagem como ícone
ImageIcon icon = new ImageIcon(getClass().getResource("/meu/pacote/icons/meu-icone.png"));

sim está é a melhor solução. Mas testando no eclipse não funciona…
Tem q por:

NomeDoProjeto/icons/imagem.png

Tentei colocar o getResource mas ele dá uma mensagem que estou tentando colocar um método não-estático em uma classe estática…

A mensagem é esta:

C:\Documents and Settings\log36198\My Documents\Particular\Projetos Java\BomGourmet\src\bomgourmet\BomGourmet.java:56: non-static method getClass() cannot be referenced from a static context

O que preciso mudar?

Então que não tem como eu utilizar o getResource?

Eu não posso deixar como não-estático porque isto é necessário para efetuar outros processos …

[quote=andvenancio]Tentei colocar o getResource mas ele dá uma mensagem que estou tentando colocar um método não-estático em uma classe estática…

A mensagem é esta:

C:\Documents and Settings\log36198\My Documents\Particular\Projetos Java\BomGourmet\src\bomgourmet\BomGourmet.java:56: non-static method getClass() cannot be referenced from a static context

O que preciso mudar?

[/quote]

Um metodo estatico só pode acessar outros metodos e atributos estaticos =)… E não é classe estatica e sim metodo =)…