Hallo,
ich möchte zur Laufzeit ein Bild laden und anzeigen. Dafür habe ich eine ImagePanel Klasse:
Das Ganze wird so verwendet:
imgPanel ist das "parent" Panel, auf dem später die ImagePanels dazugepackt werden sollen.
Mein Code wird ohne Fehler ausgeführt, in der GUI erscheint das Bild aber nicht. Könnte mir jemand sagen, was ich falsch mache?
Danke!
ich möchte zur Laufzeit ein Bild laden und anzeigen. Dafür habe ich eine ImagePanel Klasse:
Java:
package nightClient;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
@SuppressWarnings("serial")
class ImagePanel extends JPanel {
private Image img;
public ImagePanel(String img) {
this(new ImageIcon(img).getImage());
}
public ImagePanel(Image img) {
this.img = img;
Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setSize(size);
setLayout(null);
}
public void paintComponent(Graphics g) {
g.drawImage(img, 0, 0, null);
}
}
Das Ganze wird so verwendet:
Java:
public void setSelectedFiles(File[] myFiles)
{
ImagePanel myImg = new ImagePanel(myFiles[0].getAbsolutePath());
JPanel imgPanel = myView.getImagesPanel();
imgPanel.add(myImg);
}
imgPanel ist das "parent" Panel, auf dem später die ImagePanels dazugepackt werden sollen.
Mein Code wird ohne Fehler ausgeführt, in der GUI erscheint das Bild aber nicht. Könnte mir jemand sagen, was ich falsch mache?
Danke!