Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Esportare immagini in un file jar

    Salve a tutti, ho un problema a quanto ho notato molto comune.
    Il file jar non mi vede le immagini del mio frame.
    Ho cercato e provato 10000 soluzioni ma nulla ..

    Qualcuno mi puo spiegare come fare?
    Mi trovo in una situazione del genere :

    codice:
    
    public class panelImmagine extends JPanel {
    
    
        public panelImmagine(String immagine) {
            this(new ImageIcon("immagine").getImage());
        }
        
        public panelImmagine(Image img) {
            this.img = img;
            Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
            setPreferredSize(size);
            setLayout(new GridLayout(1,2));
        }
        
        public void paintComponent(Graphics g) {
            g.drawImage( img, 0, 0, null);
        }
    
    
    	private Image img;
    
    
    }
    codice:
    public class FrameInfo extends JFrame{
    	
    	private static final long serialVersionUID = 1L;
    	
            public FrameInfo() {
    		setBounds(300, 120, 410, 210);
    		setResizable(false);
    		contentPane = new JPanel();
    		contentPane.setBorder(new EmptyBorder(3, 3, 3, 3));
    		contentPane.setLayout(new BorderLayout(0, 0));
    		setContentPane(contentPane);
    		
    		JPanel panel = new panelImmagine("icon/cave.png");
    		
    		getContentPane().setBackground(Color.WHITE);
    		getContentPane().add(panel, BorderLayout.WEST);
    		JTextArea jt=new JTextArea();
    		jt.setFont(new Font("Comic Sans MS", Font.PLAIN, 13));
    		jt.setEditable(false);
    		jt.setText("testo prova");
    		getContentPane().add(jt, BorderLayout.EAST);
    	}
    	
    	private JPanel contentPane;
    }

  2. #2
    Come ho fatto io, puoi inserire le tue risorse esterne dentro un apposito package: "com.app.resource"
    e dentro metterci immagini, testi, ecc e alla fine nello stesso package puoi crearti una semplice classe di utility come la seguente:
    codice:
    package com.app.resource;
    
    
    public class AppResources {
        private AppResources() {}
    
    
        public static Icon getIcon(String name) {
            URL url = AppResources.class.getResource(name);
            return new ImageIcon(url);
        }
    }
    ed avere la tua immagine disponibile nel jar.

    Puoi richiamare la tua immagine con l'istruzione:
    codice:
    Icon immagine= AppResources.getIcon("img.gif");

    Ciao
    Ultima modifica di schumy2000; 02-03-2015 a 11:44
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  3. #3
    ciao grazie ho risolto come mi hai detto.

    Ho un nuovo problema ora:
    Come faccio ad esportare delle librerie esterne in un jar files??

  4. #4
    Non so, io uso Eclipse che mi chiede se le librerie le voglio mantenere dentro o fuori dal file jar.
    tu come fai a generarlo? Da riga di comando?
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  5. #5
    No, lo faccio generare automaticamente da eclipse.

    Ho risolto in questo modo:
    Export -> Runnable JAR File -> spunta su "Extract required libreries into generated JAR"

    graziecmq

  6. #6
    esatto, proprio come faccio io.
    Ciao.
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.