ImageView ändern JavaFX


jimb0p

Erfahrenes Mitglied
Hallo Zusammen,

möchte aus einem Byte Array ein Bild machen und es im ImageView anzeigen, leider funktioniert es nicht so wie ich möchte. Wäre super wenn jemand nen schnellen Tipp hat. Hier mein Code:


Hier soll das Image gesetzt werden:
Java:
public void loadImagesToTab(){
        ArrayList<byte[]> tmpPicList = db.getImageToPk(selectedkArtikel);
        try {
            Image img = imgFactory.convert(tmpPicList.get(0));
            imgView.setImage(img);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
Hier wird aus dem Byte Array ein Image gezaubert:

Java:
public class ImageFactory {
   
    //gibt ein Image zurück. Erstellt aus bytearray
    public Image convert(byte[] imageInByte) throws IOException {
        InputStream in = new ByteArrayInputStream(imageInByte);
        BufferedImage bufferedImage = ImageIO.read(in);
        Image image = SwingFXUtils.toFXImage(bufferedImage, null);
        return(image);
    }
}
Meine View ist eine fxml, wenn ich ein Bild vorab definiere wird es angezeigt, allerdings kann ich keins aus der Datenbank laden und dann setzen.

Schöne Woche Euch noch!
Gruß!
 

jimb0p

Erfahrenes Mitglied
Hallo Zusammen, habe leider noch immer keine Lösung gefunden, muss ich ggf. irgendwie die GUI aktualisieren o.ä.?
 

jimb0p

Erfahrenes Mitglied
Der ImageView muss in ein ScrollPane, dann funktioniert es problemlost. Hier mein Code:
Java:
previewPane.setContent(imgView);