Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Le soluzioni FSP per il 2026: potenza e IA al centro
Le soluzioni FSP per il 2026: potenza e IA al centro
In occasione del Tech Tour 2025 della European Hardware Association abbiamo incontrato a Taiwan FSP, azienda impegnata nella produzione di alimentatori, chassis e soluzioni di raffreddamento tanto per clienti OEM come a proprio marchio. Potenze sempre più elevate negli alimentatori per far fronte alle necessità delle elaborazioni di intelligenza artificiale.
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS è il principale operatore di servizi cloud al mondo e da tempo parla delle misure che mette in atto per garantire una maggiore sovranità alle organizzazioni europee. L'azienda ha ora lanciato AWS European Sovereign Cloud, una soluzione specificamente progettata per essere separata e distinta dal cloud "normale" e offrire maggiori tutele e garanzie di sovranità
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Xiaomi ha portato sul mercato internazionale la nuova serie Redmi Note, che rappresenta spesso una delle migliori scelte per chi non vuole spendere molto. Il modello 15 Pro+ punta tutto su una batteria capiente e su un ampio display luminoso, sacrificando qualcosa in termini di potenza bruta e velocità di ricarica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-08-2013, 11:23   #1
<^MORFEO^>
Senior Member
 
L'Avatar di <^MORFEO^>
 
Iscritto dal: Apr 2006
Città: Trieste
Messaggi: 3494
[Java] Problema caricamento ImageIcon da altro Package

Salve a tutti!

Ho un problema... Usando Netbeans io ho creato due progetti separati con ovviamente due package diversi. Il primo package contiene solamente una classe MainA.java mentre il secondo package contiene delle classi X.java Y.java e la classica cartella images deve sono contenute delle immagini. In paratica la situazione è questa:
- Progetto A nome: progetto.a.grafica
-- progetto.a.grafica
--- MainA.java

- Progetto B nome: progetto.b.code
-- progetto.b.code
--- X.java
--- Y.java
--- images
---- smile.png

L'URL di MainA in paratica è: Progetto/progetto.a.grafica/src/progetto/a/grafica/MainA.java
L'URN di smile.png è: Progetto/progetto.b.code/images/smile.png

La mia domanda è... come posso far caricare a MainA.java (package progetto.a.grafica) l'ImageIcon di smile.png che si trova nell'altro package (progetto.b.code)?

Ho provato con:
Codice:
URL risorsa = progetto.a.grafica.MainA.class.getResource("/progetto.b.code/images/smile.png");
ImageIcon smile = new ImageIcon(risorsa);

o con

URL risorsa = progetto.a.grafica.MainA.class.getResource("progetto.b.code/images/smile.png");
ImageIcon smile = new ImageIcon(risorsa);

o con

Image smile = new Image(this.getClass().getResource("progetto.b.code/images/smile.png"));
ma niente.. probabilmente sbaglio l'indirizzo o l'approccio per ottenere l'immagine...
__________________
ASUS PB278Q - Corsair Carbide 500R Black - Thermaltake ToughPower 750W - Intel i7-4790 (Cooled by Corsair Liquid H80i) - ASRock Z97 Extreme 4 - MSI GTX 950 Gaming 2G - 16GB Corsair Vengeance Pro 1600MHz - Samsung SSD 840 Pro 256GB
<^MORFEO^> è offline   Rispondi citando il messaggio o parte di esso
Old 27-08-2013, 22:17   #2
<^MORFEO^>
Senior Member
 
L'Avatar di <^MORFEO^>
 
Iscritto dal: Apr 2006
Città: Trieste
Messaggi: 3494
up
__________________
ASUS PB278Q - Corsair Carbide 500R Black - Thermaltake ToughPower 750W - Intel i7-4790 (Cooled by Corsair Liquid H80i) - ASRock Z97 Extreme 4 - MSI GTX 950 Gaming 2G - 16GB Corsair Vengeance Pro 1600MHz - Samsung SSD 840 Pro 256GB
<^MORFEO^> è offline   Rispondi citando il messaggio o parte di esso
Old 27-08-2013, 22:32   #3
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
I package in java non sono altro che cartelle. Quando usi getResource() per caricare un file devi ricordarti di sostituire i punti con degli slash. Quindi progetto.b.code diventa /progetto/b/code/.

Codice:
URL risorsa = progetto.a.grafica.MainA.class.getResource("/progetto/b/code/images/smile.png");
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2013, 10:33   #4
<^MORFEO^>
Senior Member
 
L'Avatar di <^MORFEO^>
 
Iscritto dal: Apr 2006
Città: Trieste
Messaggi: 3494
Quote:
Originariamente inviato da VICIUS Guarda i messaggi
I package in java non sono altro che cartelle. Quando usi getResource() per caricare un file devi ricordarti di sostituire i punti con degli slash. Quindi progetto.b.code diventa /progetto/b/code/.

Codice:
URL risorsa = progetto.a.grafica.MainA.class.getResource("/progetto/b/code/images/smile.png");
Non funziona...

Ho provato con:

Codice:
URL risorsa = progetto.a.grafica.MainA.class.getResource("/progetto/b/code/images/smile.png");

e

URL risorsa = progetto.a.grafica.MainA.class.getResource("progetto/b/code/images/smile.png");
ma niente, risorsa è sempre NULL

Guardando l'indirizzo da Windows,
MainA si trova in: C:\Progetto\progetto.a.grafica\src\progetto\a\grafica\MainA.java
smile.png si trova in: C:\Progetto\progetto.b.code\images\smile.png
__________________
ASUS PB278Q - Corsair Carbide 500R Black - Thermaltake ToughPower 750W - Intel i7-4790 (Cooled by Corsair Liquid H80i) - ASRock Z97 Extreme 4 - MSI GTX 950 Gaming 2G - 16GB Corsair Vengeance Pro 1600MHz - Samsung SSD 840 Pro 256GB

Ultima modifica di <^MORFEO^> : 28-08-2013 alle 10:52.
<^MORFEO^> è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2013, 15:32   #5
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quei percorsi su windows sembrano un po' strani. Nel secondo progetto non mi pare di vedere i percorsi del package. Non è che hai messo la cartella images nel package di default? Non avendo sotto mano il progetto di netbeans è difficile aiutarti. Prova con

Codice:
URL risorsa = progetto.a.grafica.MainA.class.getResource("/images/smile.png");
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2013, 23:17   #6
<^MORFEO^>
Senior Member
 
L'Avatar di <^MORFEO^>
 
Iscritto dal: Apr 2006
Città: Trieste
Messaggi: 3494
Quote:
Originariamente inviato da VICIUS Guarda i messaggi
Quei percorsi su windows sembrano un po' strani. Nel secondo progetto non mi pare di vedere i percorsi del package. Non è che hai messo la cartella images nel package di default? Non avendo sotto mano il progetto di netbeans è difficile aiutarti. Prova con

Codice:
URL risorsa = progetto.a.grafica.MainA.class.getResource("/images/smile.png");
Provo a spiegarmi diversamente..
Io ho creato un progetto che ho memorizzato nella cartella C:\Progetto\
Questo progetto è diviso in due parti con due package diversi.
- La prima parte è nella cartella C:\Progetto\progetto.a.grafica\ e su Netbeans è quindi tutto memorizzato all'interno del package dal nome progetto.a.grafica
- La seconda parte è nella cartella C:\Progetto\progetto.b.code\ e su Netbeans è memorizzato nel package dal nome progetto.b.code
All'interno di questo progetto, ho creato una cartella C:\Progetto\progetto.b.code\image dove all'interno è memorizzata la smile.png

Io desidero quindi poter importare questo smile.png dalla cartella C:\Progetto\progetto.b.code\image\ nel MainA.java dell'altra parte del progetto e quindi nel package progetto.a.grafica..

Se usassi
Codice:
URL risorsa = progetto.a.grafica.MainA.class.getResource("/images/smile.png");
MainA.java andrebbe a cercarmi smile.png nella cartella image all'interno del suo package progetto.a.grafica e quindi dentro la cartella C:\Progetto\progetto.a.grafica\image\ che non esiste...
__________________
ASUS PB278Q - Corsair Carbide 500R Black - Thermaltake ToughPower 750W - Intel i7-4790 (Cooled by Corsair Liquid H80i) - ASRock Z97 Extreme 4 - MSI GTX 950 Gaming 2G - 16GB Corsair Vengeance Pro 1600MHz - Samsung SSD 840 Pro 256GB
<^MORFEO^> è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2013, 07:36   #7
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quote:
Originariamente inviato da <^MORFEO^> Guarda i messaggi
Se usassi
Codice:
URL risorsa = progetto.a.grafica.MainA.class.getResource("/images/smile.png");
MainA.java andrebbe a cercarmi smile.png nella cartella image all'interno del suo package progetto.a.grafica e quindi dentro la cartella C:\Progetto\progetto.a.grafica\image\ che non esiste...
Il classloader vede comunque tutti i file di tutti i package. Anche se smile.png fosse in un file jar separato in una cartella montata da una server remoto funzionerebbe comunque. L'importante è che il package sia nel classpath del programma e che il percorso sia giusto.
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 30-08-2013, 11:33   #8
<^MORFEO^>
Senior Member
 
L'Avatar di <^MORFEO^>
 
Iscritto dal: Apr 2006
Città: Trieste
Messaggi: 3494
Quote:
Originariamente inviato da VICIUS Guarda i messaggi
Il classloader vede comunque tutti i file di tutti i package. Anche se smile.png fosse in un file jar separato in una cartella montata da una server remoto funzionerebbe comunque. L'importante è che il package sia nel classpath del programma e che il percorso sia giusto.
NullPointerException perchè lui va a cercare la smile.png in C:\Progetto\progetto.a.grafica\image\ che non esiste essendo che l'immagine si trova in C:\Progetto\progetto.b.code\image ...
__________________
ASUS PB278Q - Corsair Carbide 500R Black - Thermaltake ToughPower 750W - Intel i7-4790 (Cooled by Corsair Liquid H80i) - ASRock Z97 Extreme 4 - MSI GTX 950 Gaming 2G - 16GB Corsair Vengeance Pro 1600MHz - Samsung SSD 840 Pro 256GB
<^MORFEO^> è offline   Rispondi citando il messaggio o parte di esso
Old 30-08-2013, 11:55   #9
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Controlla il classpath impostato da netbeans quando viene lanciato il programma. Se ci sono tutti e due i percorsi allora deve funzionare.
VICIUS è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Le soluzioni FSP per il 2026: potenza e IA al centro Le soluzioni FSP per il 2026: potenza e IA al ce...
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Blue Origin presenta TeraWave, una nuova...
Compra una GeForce RTX 5080 venduta e sp...
Telescopio spaziale James Webb: osservat...
L'IA non ha portato quasi nessun benefic...
Sony LinkBuds Clip, gli auricolari open ...
La fibra è sempre più diff...
Arriva Vertiv CoolPhase PAM: raffreddame...
Chiamate cristalline e ANC evoluto a pre...
Adobe aggiorna Premiere e After Effects:...
AI Bundle, la novità dei driver A...
La roadster elettrica supportata da Xiao...
Netflix rivede l'offerta per Warner Bros...
Satya Nadella avverte: senza benefici co...
Anche secondo Andy Jassy, CEO di Amazon,...
Audi mostra la sua prima auto di Formula...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 20:36.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v