Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    60

    caricare immagine in swing

    Devo caricare una immagine in java ma con questo semplice codice non mi funziona.
    mi lancia questa eccezione:
    Exception in thread "main" java.lang.NullPointerException
    at javax.swing.ImageIcon.<init>(ImageIcon.java:181)
    at view.TesseraFrame.<init>(TesseraFrame.java:35)
    at view.TesseraFrame.main(TesseraFrame.java:65)

    Cosa sbaglio?? grazie

    codice:
    public class TesseraFrame extends JPanel {
    
    public TesseraFrame(){
    		super();//crea titolo
    		setLayout( new FlowLayout());//imposta il layout
    		Icon bug=new ImageIcon(getClass().getResource("city.jpg"));
    	}
    
    public static void main(String args[]){
    	
    	TesseraFrame tessera = new TesseraFrame();
    	tessera.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	tessera.setSize(275,180);
    	tessera.setVisible(true);*/
    }

  2. #2
    L'immagine in questione dove l'hai posizionata ?

  3. #3

    Risposta

    allora, io io ho fatto in un'altro modo, invece di creare una classe estesa al JPanel ho fatto
    così


    import java.awt.FlowLayout;
    import javax.swing.*;

    public class prova extends JFrame{

    private Icon bug = new ImageIcon(getClass().getResource("city.jpg"));
    private JPanel panel1;
    private JLabel label1;

    public prova(){
    super("Prova");

    panel1 = new JPanel();
    add(panel1);

    label1 = new JLabel();
    label1.setIcon(bug);
    panel1.add(label1);
    }

    public static void main(String[] args){
    prova p = new prova();
    p.setLayout(new FlowLayout());
    p.setVisible(true);
    p.setSize(400,400);
    p.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    }

    crei una classe estesa al JFrame, prendi l'immagine con bug = ...... ,(ovviamente devi mettere l'immagine dentro il Package su cui stai lavorando) fai label.setIcon(bug); così la JLabel prende l'immagine, e poi la metti nel panel che aggiungerai al JFrame. così dovrebbe funzionare.... comunque sulle immagini ci sono tanto Thread pubblicati, non ha senso farne ancora =)

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    60
    Grazie mille per la risposta.
    Cmq facendo come dicevi te mi dava ancora problemi e ho dovuto cambiare il la riga di codice cosi:


    private ImageIcon bug = new ImageIcon(("city.jpg"));

    Ma volevo chiedere come mai prima mi dava problemi?? e il getClass().getResource a cosa servono veramente?? grazie a tutti

  5. #5

    Non so

    Purtroppo io ho 16 anni, non ho manuali dove poter studiare.... sono solo un appassionato di programmazione, e quel che so lo attingo da qualche forum in generale a da you tube. Java è un linguaggio veramente complicatissimo..... e per conoscerlo completamente ci vorrebbero molti anni =(

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.