JComboBoxからアイテムを選択するたびに、画像のフォルダーからJLabelにアイコンを設定しようとしています。JComboBox内のアイテムの名前とフォルダー内の画像の名前は同じです。したがって、JComboBoxからアイテムを選択するときは常に、同じ名前の対応する画像をアイコンとしてJLabelに設定する必要があります。私はこのようなことをしようとしています。
private void cmb_movieselectPopupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt){
updateLabel(cmb_moviename.getSelectedItem().toString());
}
protected void updateLabel(String name) {
ImageIcon icon = createImageIcon("C:\\Users\\xerof_000\\Pictures\\tmspictures\\" + name + ".jpg");
if(icon != null){
Image img = icon.getImage();
Image newimg = img.getScaledInstance(lbl_pic.getWidth(), lbl_pic.getHeight(), java.awt.Image.SCALE_SMOOTH);
icon = new ImageIcon(newimg);
lbl_pic.setIcon(icon);
lbl_pic.setText(null);
}
else{
lbl_pic.setText("Image not found");
lbl_pic.setIcon(null);
}
}
protected static ImageIcon createImageIcon(String path) {
URL imgURL;
imgURL = NowShowing.class.getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL);
} else {
return null;
}
}
問題は「C:\ Users \ xerof_000 \ Pictures \ tmspictures \」にあると思いました。「C:/ Users / xerof_000 / Pictures / tmspictures /」を使用してみましたが、それでも機能しませんでした。そして、私が何をしても、JLabelに「画像が見つかりません」と表示されるだけです。