allora ho una classe ImageProvider dove viene chiamato nel costruttore il readerXML e ne estrapola i dati da elaborare
codice:
 public ImageProvider() {
        width = 0;
        height = 0;
        nomeImmagine = new HashMap<>();
        readerXML = new ReaderXML();
        readerXML.readerXmlImage();
        caricaImmagini = readerXML.getDatiCaricamentoImmagini();
        for (Map.Entry<String, String> entry : caricaImmagini.entrySet()) {
            String nome = entry.getKey();
            String path = entry.getValue();
            System.out.println("nome: " + nome);
            System.out.println("pathPrimaMappa: " + path);
            try {
                imgURL = this.getClass().getResource("images" + File.separator + "menuImages" + File.separator + "menuPrincipale.jpg");
                System.out.println("path:" + path);
                System.out.println("imgURL"+ imgURL);
                BufferedImage img = ImageIO.read(imgURL);
                BufferedImage momentanea = getScaledImage(img, 500, 500);
                nomeImmagine.put(nome, momentanea);
//                for (Map.Entry<String, BufferedImage> entry1 : nomeImmagine.entrySet()) {
//                    String string = entry1.getKey();
//                    BufferedImage bufferedImage = entry1.getValue();
//                    System.out.println("nome: " + string + " bufferedImage: " + bufferedImage);
//                }
            } catch (IOException ex) {
                Logger.getLogger(ImageProvider.class.getName()).log(Level.SEVERE, null, ex);
            }

        }
    }
la classe readerXML che legge il file XML

codice:
  public void readerXmlImage() {
        try {
            DocumentBuilderFactory documentFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = documentFactory.newDocumentBuilder();
            Document document = builder.parse(new File("./src/it/igpe/hookBoxingGUI/Immagini.xml"));
            NodeList immagine = document.getElementsByTagName("Immagine");
//            System.out.println("Totale persone: " + immagine.getLength());
            for (int i = 0; i < immagine.getLength(); i++) {
                Node nodo = immagine.item(i);
                if (nodo.getNodeType() == Node.ELEMENT_NODE) {
                    Element persona = (Element) nodo;
                    String path = persona.getElementsByTagName("Path").item(0).getFirstChild().getNodeValue();
                    String nome = persona.getElementsByTagName("Nome").item(0).getFirstChild().getNodeValue();
                    this.datiCaricamentoImmagini.put(nome, path);
//                    System.out.println("Nome: " + nome);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
e questo è l'xml :

codice:
<root>
    <Immagine>
        <Path>
           "images/menuImages/menuPrincipale.jpg"
        </Path>
        <Nome>
            "menu" 
        </Nome>
    </Immagine>
</root>
il percorso non è relativo in base a dove viene chiamato il path?? quindi dove è il .class dell'imageprovider o comunque nel package dove è il .java dell'imageprovider?