Ho un problema che mi sta facendo sbattere la testa contro il muro da due giorni. Sto facendo un gioco progetto che prevede il caricamento delle immagini delle carte. Però proprio li mi da un errore di NUllPointerException. Ho provato a controllare e ricontrollare ma nn c'è nulla di errato.
Vi posto il codice :
la riga dove da l'errore è quella presente in loadImage e precisamente " lab=new JLabel(new ImageIcon(url)). Ho provato anche a creare il package con le immagini ma niente. C'è una soluzione??codice:public class Gui extends JFrame implements iConsole { private static final String IMG_PATH = "SetteeMezzo/res/"; private Container cp; private JLabel labelSfidante; private JLabel labelBanco; private JLabel labelCapitale; private JLabel labelPuntata; private JLabel labelCarteSfidante; private JPanel carteSfidante; private JLabel labelCarteBanco; private JPanel carteBanco; private boolean inizioSfidante; private boolean inizioBanco; public Gui() { super("Il gioco del setteemezzo"); inizioSfidante = true; inizioBanco = true; labelSfidante = new JLabel("Punti sfidante : 0"); labelBanco = new JLabel("Punti del banco: 0"); labelCapitale = new JLabel("Capitale: 0"); labelPuntata = new JLabel("Puntata: 0"); labelCarteSfidante = new JLabel("Carte dello sfidante"); labelCarteBanco = new JLabel("Carte del banco"); carteBanco = new JPanel(); carteBanco.setLayout (new FlowLayout()); carteSfidante = new JPanel(); carteSfidante.setLayout(new FlowLayout()); cp = getContentPane(); cp.setLayout(new BorderLayout()); JPanel creditoPuntata = new JPanel(); creditoPuntata.setLayout(new GridLayout(2,2)); creditoPuntata.add(labelCapitale); creditoPuntata.add(labelPuntata); creditoPuntata.add(labelSfidante); creditoPuntata.add(labelBanco); cp.add(creditoPuntata, BorderLayout.NORTH); JPanel tavoloGioco = new JPanel(); tavoloGioco.setLayout(new GridLayout(0,1)); tavoloGioco.add(labelCarteSfidante); tavoloGioco.add(carteSfidante); tavoloGioco.add(labelCarteBanco); tavoloGioco.add(carteBanco); cp.add(tavoloGioco, BorderLayout.CENTER); cp.add(carteSfidante, BorderLayout.AFTER_LAST_LINE); cp.add(carteBanco, BorderLayout.AFTER_LAST_LINE); JLabel label = new JLabel(); label = loadImage("00.gif"); label.setBounds(20, 35, 65, 110); carteSfidante.add(label); } public void stampaMsg(String msg) { JOptionPane.showMessageDialog(null, msg, "", 0); } public boolean chiediSiNo(String msg) { int response = JOptionPane.showConfirmDialog(null,msg,"Seleziona una opzione", JOptionPane.YES_NO_OPTION); return response == JOptionPane.YES_OPTION; } public int chiediInteger(String msg) { try { return Integer.parseInt(JOptionPane.showInputDialog(msg)); } catch(NumberFormatException e) { return 0; } } public String chiediTesto(String msg) { return JOptionPane.showInputDialog(msg); } public int videataIniziale() { Gui JFrame = new Gui(); JFrame.setBounds(100, 150, 650, 500); JFrame.setDefaultCloseOperation(3); JFrame.show(); return 0; } public void iniziaMano(int credito, int puntata) { labelCapitale.setText("Capitale: " + credito); labelPuntata.setText("Puntata " + puntata); carteBanco.removeAll(); carteSfidante.removeAll(); carteBanco.add(loadImage("00.gif")); carteSfidante.add(loadImage("00.gif")); inizioSfidante = true; inizioBanco = true; } public void videataMano(Carta carta, double punti, Giocatore g) { JLabel imgCarta = loadImage(nomeImmagineCarta(carta)); if(g instanceof GiocatoreUmano) { if (inizioSfidante) carteSfidante.removeAll(); inizioSfidante = false; carteSfidante.add(imgCarta); labelSfidante.setText("Punti sfidante: " + punti); } else if(g instanceof BancoCPU) { if (inizioBanco) carteBanco.removeAll(); inizioBanco = false; carteBanco.add(imgCarta); labelBanco.setText("Punti banco: " + punti); } pack(); } private JLabel loadImage(String name) { JLabel lab = null; ClassLoader loader = getClass().getClassLoader(); URL url = loader.getResource(IMG_PATH+name); lab = new JLabel(new ImageIcon(url)); return lab; } private String nomeImmagineCarta(Carta c) { Seme seme = c.daiSeme(); TipoCarta punto = c.daiPunto(); return seme.toString() + punto.toString() + ".gif"; }

. Sto facendo un gioco progetto che prevede il caricamento delle immagini delle carte. Però proprio li mi da un errore di NUllPointerException. Ho provato a controllare e ricontrollare ma nn c'è nulla di errato.
Rispondi quotando