per inseire una immagine
aggiungi
import java.awt.*;
sintassi
oggetto immagine dal file
- file immagine esterno dal file .jar
ImageIcon imgoriginale = new ImageIcon(System.getProperty("user.dir") + "\\file"); nella root del software
ImageIcon imgoriginale = new ImageIcon("path\file"); in una directory specifica
- file immagine interno al file .jar
ImageIcon imgoriginale = new ImageIcon(getClass().getResource("fileimmagine")); file immagine nella root del file jar
ImageIcon imgoriginale = new ImageIcon(getClass().getResource("/path/fileimmagine")); file immagine in ua sottodirectory (mettere / come divisorio)
se non funziona togli la prima / nella path
ImageIcon imgoriginale = new ImageIcon(getClass().getResource("path/fileimmagine"));
ImageIcon immridimensionata = new ImageIcon(imgoriginale.getImage().getScaledInstance(largezza, altezza, java.awt.Image.scala)); sistema immagine
JLabel img = new JLabel(immridimensionata); inserisci l'immagine in una etichetta
tipo di scala
- .SCALE_DEFAULT Use the default image-scaling algorithm
- .SCALE_FAST Choose an image-scaling algorithm that gives higher priority to scaling speed than smoothness of the scaled image
- .SCALE_SMOOTH Choose an image-scaling algorithm that gives higher priority to image smoothness than scaling speed
- .SCALE_AREA_AVERAGING Use the Area Averaging image scaling algorithm
- .SCALE_REPLICATE Use the image scaling algorithm embodied in the ReplicateScaleFilter class
esempio: immagine test.png nella root
- esterno .jar
ImageIcon imgoriginale = new ImageIcon(System.getProperty("user.dir") + "\\test.png");
- interno .jar
ImageIcon imgoriginale = new ImageIcon(getClass().getResource("/image/test.png")); in una sottodirectory image
se non funziona togli la prima / nella path
ImageIcon imgoriginale = new ImageIcon(getClass().getResource("image/test.png")); in una sottodirectory image
ImageIcon immridimensionata = new ImageIcon(imgoriginale.getImage().getScaledInstance(500, 120, java.awt.Image.SCALE_SMOOTH));
JLabel img = new JLabel(immridimensionata);
se da errore:
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.< init>(Unknown Source)
at xxx.< init>(xxx.java:14)
at xxx.main(xxx.java:26)
c'é un errore nel codice o nella posizione del file immagine dentro o fuori al file .jar