• Viernes 8 de Noviembre de 2024, 09:40

Autor Tema:  Jars Linux Windows  (Leído 2034 veces)

katzide

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Jars Linux Windows
« en: Sábado 29 de Diciembre de 2007, 15:38 »
0
Hola amigos, mi pregunta es, ¿Porque un jar (con una GUI que tiene imagen) ejecutado en Linux, si muestra la imagen y en Windows no? (siendo el mismo jar), se supone que el objetivo del JVM  es la multiplataforma asi que en teoría debería de correr igual no es asi?,  el código de mi aplicación es:

Código: Text
  1.  
  2.  
  3. import java.awt.event.*;
  4. import javax.swing.*;
  5. import java.awt.*;
  6. import javax.swing.JFrame;
  7.  
  8. public class Gui1 extends JFrame implements ActionListener{
  9.    
  10. //Creo mis objetos  
  11. JButton cmdExplorar;
  12. JButton cmdInstalar;
  13. JButton cmdFAQ;
  14.  
  15. ImageIcon fondo=new ImageIcon("wallpapers222b.jpg");
  16.  
  17. JPanel PG;
  18. JPanel PA;
  19. JPanel PB;
  20. JPanel PC;
  21. JPanel P1;
  22. JPanel P2;
  23. JPanel P3;
  24.  
  25. JLabel label1;
  26. Container c;
  27.  
  28.   //Constructor de la GUI
  29.   public Gui1(){
  30.         super("Epidisc 2006");
  31.    
  32.     //Obtiene el GUI del SO Actual
  33.     try
  34.       {
  35.          UIManager.setLookAndFeel    (UIManager.getSystemLookAndFeelClassName());
  36.       }
  37.       catch (Exception e)
  38.       {
  39.          e.printStackTrace();
  40.       }
  41.  
  42.     c=getContentPane();
  43.      
  44.     //Vamoa a comenzar a asignar los elementos a sus diferentes paneles
  45.     cmdExplorar=new JButton("Explorar");
  46.     cmdExplorar.addActionListener(this);    
  47.     cmdInstalar=new JButton("Instalar software");
  48.     cmdInstalar.addActionListener(this);
  49.     cmdFAQ=new JButton("Dudas de uso");
  50.     cmdFAQ.addActionListener(this);
  51.    
  52.    
  53.     label1=new JLabel(fondo);
  54.    
  55.     //El panel grandote va a ser el de PG  
  56.      
  57.       PG=new JPanel();
  58.       PG.setPreferredSize(new Dimension(500,350));
  59.       PG.setLayout(new BorderLayout());
  60.       PA=new JPanel ();
  61.       //PA.setLayout(new BorderLayout());
  62.       PB=new JPanel ();
  63.       //PB.setLayout(new BorderLayout());
  64.       PC=new JPanel ();
  65.       PC.setLayout(new BorderLayout());
  66.       P1=new JPanel ();
  67.       P1.setLayout(new BorderLayout());
  68.       P2=new JPanel ();
  69.       P2.setLayout(new BorderLayout());
  70.       P3=new JPanel ();
  71.       P3.setLayout(new BorderLayout());
  72.      
  73.       P2.add(cmdExplorar, BorderLayout.NORTH);
  74.       P2.add(cmdInstalar, BorderLayout.CENTER);
  75.       P2.add(cmdFAQ, BorderLayout.SOUTH);
  76.    
  77.       PA.add(label1);
  78.    
  79.       PB.add(P1);
  80.       PB.add(P2);
  81.       PB.add(P3);
  82.      
  83.       PG.add(PA, BorderLayout.NORTH);
  84.       PG.add(PB, BorderLayout.SOUTH);
  85.      
  86.     //Lo agrego al container
  87.     c.add(PG);
  88.     setSize(510,370);
  89.     setVisible(true);
  90.     setDefaultCloseOperation(EXIT_ON_CLOSE);
  91.       }
  92.    
  93.   //Aqui van las acciones de los objetos
  94.   public void actionPerformed(ActionEvent e){}
  95.  
  96.   //Se crea la GUI
  97.   public static void main(String[] args){
  98.     Gui1 GUI = new Gui1();  
  99.   }
  100.  
  101.  
  102. }
  103.  

conserje

  • Miembro activo
  • **
  • Mensajes: 39
  • Nacionalidad: 00
    • Ver Perfil
    • Centroamericano
Re: Jars Linux Windows
« Respuesta #1 en: Domingo 30 de Diciembre de 2007, 00:40 »
0
Eso no es tan facil como lo planteas ya que algunos objetos no existen para el ambiente en que estas trabajando que puede ser kde o gnome etc. con objetos me refiero a los botones,cajas de listas  etc.   :hola:

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Jars Linux Windows
« Respuesta #2 en: Domingo 30 de Diciembre de 2007, 16:05 »
0
Cita de: "conserje"
Eso no es tan facil como lo planteas ya que algunos objetos no existen para el ambiente en que estas trabajando que puede ser kde o gnome etc. con objetos me refiero a los botones,cajas de listas  etc.   :hola:
Nada que ver... si el API es swing, no importa si estas en Gnome, KDE, Fluxbox o cualquier otro WM/Desktop.

No doy una solucion porque no se Java
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

conserje

  • Miembro activo
  • **
  • Mensajes: 39
  • Nacionalidad: 00
    • Ver Perfil
    • Centroamericano
Re: Jars Linux Windows
« Respuesta #3 en: Miércoles 2 de Enero de 2008, 15:44 »
0
bueno la idea es que los objetos que se quieren usar  no estan disponibles en linux y la interfaz no es igual, java es muy util para esto de la multiplataforma  pero tiene unos sus clavitos con la interfaz de usuario, puede ser que usando objetos de swing como dice el compañero y sin usar Awt :whistling:

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Jars Linux Windows
« Respuesta #4 en: Miércoles 2 de Enero de 2008, 20:03 »
0
Cita de: "conserje"
bueno la idea es que los objetos que se quieren usar  no estan disponibles en linux y la interfaz no es igual, java es muy util para esto de la multiplataforma  pero tiene unos sus clavitos con la interfaz de usuario, puede ser que usando objetos de swing como dice el compañero y sin usar Awt :whistling:
Eso no es cierto...
Citar
The Abstract Window Toolkit (AWT) is Java's original platform-independent windowing, graphics, and user-interface widget toolkit. The AWT is now part of the Java Foundation Classes (JFC) — the standard API for providing a graphical user interface (GUI) for a Java program.
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

conserje

  • Miembro activo
  • **
  • Mensajes: 39
  • Nacionalidad: 00
    • Ver Perfil
    • Centroamericano
Re: Jars Linux Windows
« Respuesta #5 en: Viernes 4 de Enero de 2008, 05:52 »
0
pues en la practica es otro rollo yo he programado diferentes cosas para windows y a la hora de correrlos en linux  hay que retocarlos,  y a otro monton de personas que conozco le ha pasado lo mismo