イメージをパネルに設定しているときに、NetBeans リソースの管理で問題が発生しました。
これは私の動作しないコードです:
try {
BufferedImage myPicture = ImageIO.read(new File("images/3D.jpg"));
JLabel picLabel = new JLabel(new ImageIcon(myPicture));
pnlMain.add(picLabel); //the main and only pannel made by matisse is called pnlMain
} catch (IOException e) {
JOptionPane.showMessageDialog(this, "Cannot set image");
}
「images」という名前のフォルダーは、MAIN プロジェクト フォルダーにあります。いくつかのフォルダーがあります: build、nbproject、src、および "images"。
私が抱えている問題は、プログラムは実行されますが、画像が設定されないことです...
誰かが、このコードを使用して別のパッケージに別のクラスを作成することを提案しました:
public class PanelImage extends JPanel{
private Image imag;
public PanelImage(Image img){
if(imagen != null){
this.imagen = img;
}
}
@Override
public void paint(Graphics g){
g.drawImage(img, 0,0, getWidth(), getHeight(), this);
setOpaque(false);
super.paint(g);
}
}
しかし、私はそれを実装する適切な方法を見つけることができません...