Olá, criei um SplashScreen com uma imagem e um Jframe no NetBeans 8.2. Java Se
Funciona corretamente quando executo (run)
Porém, quando vou gerar o .jar apresenta erro:
C:\Users\eu\Documents\NetBeansProjects\OlaMundo\nbproject\build-impl.xml:982: Existing manifest C:\Users\eu\Documents\NetBeansProjects\OlaMundo\build\null1775065000 is invalid
FALHA NA CONSTRUÇÃO (tempo total: 3 segundos)
O que estou fazendo de errado? Obrigado
JFrame
try {
Thread.sleep(1000);
}
catch (Exception e) {
}
Manifest.mf
Splashscreen-image: splashscreen/splash.jpg
Propriedades do Projeto > Executar > Opções de VM:
-splash:src/SplashScreen/splash.jpg
Tem certeza que o Manifest está certo?
Eu construí um aqui assim:
import javax.swing.JWindow;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.SwingConstants;
import java.awt.Toolkit;
import java.awt.Dimension;
public class Splash {
private static final int LARGURA = 420;
private static final int ALTURA = 250;
private static final int TEMPO_SPLASH = 2000;
private static final String CAMINHO = "/aviao.gif";
public Splash(){
iniciarComponentes();
}
private void iniciarComponentes(){
rotulo.setText("");
rotulo.setIcon(new ImageIcon(getClass().getResource(CAMINHO)));
rotulo.setHorizontalAlignment(SwingConstants.CENTER);
janelaSplash.getContentPane().add(rotulo);
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension dimensao = toolkit.getScreenSize();
janelaSplash.setBounds(
(dimensao.width - LARGURA) / 2, //x
(dimensao.height - ALTURA) / 2, //y
LARGURA,
ALTURA
);
janelaSplash.setVisible(true);
try{
Thread.sleep(TEMPO_SPLASH);
}catch(InterruptedException iex){}
janelaSplash.dispose();
}
public static void main(String[] args){
new Splash();
}
private JWindow janelaSplash = new JWindow();
private JLabel rotulo = new JLabel();
}
O Manifesto:
Manifest-Version: 1.0
Created-By: 10.0.1 (Oracle Corporation)
Main-Class: Splash
<linha em branco>
Gerando o .jar:

Resultado:

1 curtida