juandejesuss007
Bovino Milenario
- Desde
- 19 Mar 2008
- Mensajes
- 1.581
- Tema Autor
- #1
Que tal compañeros
les escribo porque tengo un problema que me esta poniendo los pelos de punta, estoy haciendo un splash para mi sistemita en Java, todo bien, carga y así pero cuando le pongo una imagen, no la jala no sé porque, solo si le pongo la ruta completa (Absoluta) pero si le pongo ruta Relativa nada que me carga y no se que hacer, la imagen está dentro de mi proyecto en un paquete (folder) llamado Images, la foto se llama "DesarrollaconMSDN.jpg" y la clase que se encarga de cargar el splash es la clase "SplashImage.java" que como ven esta dentro del paqueteprincipal. les adjunto la foto
Ahora les voy a compartir el codigo de la clase SplashImage.java
les puse en negrita lo importante que me esta jodiendo, si pongo ruta completa
splashLabel = new JLabel(new ImageIcon("../../../../../../home/jesus/Documentos/NetBeansProjects/MSDNVideo/src/Images/DesarrollaconMSDN.jpg"));
me sale correctamente el splash con su barra de progreso y todo
Hasta ahi todo bien, el problema está en cuando compilo el proyecto, lo cambio de ruta o lo que sea, todo funciona bien, conexion, clases etc...
si le cambio el codigo a como mencionan los manuales así
el splash aparece así:
solo con la barra de progreso, pero la imagen nunca me la carga, tengo ese mismo problema con los reportes hechos con ireports, nomas no los carga si le pongo su ruta correctamente, tengo que poner mi direccion completa, pero si me quisiera llevar el sistema a otra computadora obviamente no funcionaria ya que el usuario no se llama Jesus, de antemano muchas gracias por su ayuda
les escribo porque tengo un problema que me esta poniendo los pelos de punta, estoy haciendo un splash para mi sistemita en Java, todo bien, carga y así pero cuando le pongo una imagen, no la jala no sé porque, solo si le pongo la ruta completa (Absoluta) pero si le pongo ruta Relativa nada que me carga y no se que hacer, la imagen está dentro de mi proyecto en un paquete (folder) llamado Images, la foto se llama "DesarrollaconMSDN.jpg" y la clase que se encarga de cargar el splash es la clase "SplashImage.java" que como ven esta dentro del paqueteprincipal. les adjunto la foto

Ahora les voy a compartir el codigo de la clase SplashImage.java
Código:
package paqueteprincipal;
import java.awt.*;
import javax.swing.*;
/**
*
* @author jesus
*/
public final class SplashImage {
private JLabel splashLabel;//aqui colocamos el splash screen
private JProgressBar progreso; //este sera el progreso de la barra
private JWindow splashScreen;//esta sera la ventana del Splash
private ventanaprincipal ventana;//ventana de trabajo
public SplashImage(){
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception e){
JOptionPane.showMessageDialog(progreso, e);
}
crearSplashScreen();
//Arranca el splash
splashScreen.setVisible(true);
//Iniciar el progreso
hiloProgreso hilo=new hiloProgreso();
hilo.start();
//Creamos ventana de trabajo
ventana = new ventanaprincipal();
ventana.setLocationRelativeTo(null);
ventana.setVisible(true);
splashScreen.setVisible(false);
//Libera splash de la memoria
splashScreen = null;
hilo = null;
}
public void crearSplashScreen(){
//inicializa "splashLabel" con la ruta de la imagen splash
[B]splashLabel = new JLabel(new ImageIcon("../../../../../../home/jesus/Documentos/NetBeansProjects/MSDNVideo/src/Images/DesarrollaconMSDN.jpg"));[/B]
//inicializa el progreso
progreso = new JProgressBar();
progreso.setBorderPainted(true);
progreso.setForeground(new Color(50,50,153,100));
//mostrar el valor del avance
progreso.setStringPainted(true);
splashScreen = new JWindow();
splashScreen.setLocationRelativeTo(null);
splashScreen.setLayout(new BorderLayout());
splashScreen.add(splashLabel,BorderLayout.CENTER);
splashScreen.add(progreso,BorderLayout.SOUTH);
//empaqueta todo
splashScreen.pack();
}
public void pausa(int mlSeg){
try{//Pausa para el splash
Thread.sleep(mlSeg);
}
catch(Exception e){}
}
class hiloProgreso extends Thread{
public hiloProgreso(){
super();
}
public void run(){
for(int i = 1;i<=100;i++){
progreso.setValue(i);
pausa(5);
}
}
}
public static void main (String args[]){
new SplashImage();
}
}
splashLabel = new JLabel(new ImageIcon("../../../../../../home/jesus/Documentos/NetBeansProjects/MSDNVideo/src/Images/DesarrollaconMSDN.jpg"));
me sale correctamente el splash con su barra de progreso y todo

Hasta ahi todo bien, el problema está en cuando compilo el proyecto, lo cambio de ruta o lo que sea, todo funciona bien, conexion, clases etc...
si le cambio el codigo a como mencionan los manuales así

el splash aparece así:

solo con la barra de progreso, pero la imagen nunca me la carga, tengo ese mismo problema con los reportes hechos con ireports, nomas no los carga si le pongo su ruta correctamente, tengo que poner mi direccion completa, pero si me quisiera llevar el sistema a otra computadora obviamente no funcionaria ya que el usuario no se llama Jesus, de antemano muchas gracias por su ayuda