в этой программе я хотел загрузить изображения в массив изображений в netbeans. программа работает, если я читаю одну картинку. однако, когда я использовал цикл для загрузки изображений, я получаю ошибку именно на «labelx.seticon (imageicon)». как вы видите, я проверил, являются ли значки нулевыми, и получил сообщение, что они не нулевые. любая помощь будет оценена. ошибка Я получил ошибку в исключениях нулевого указателя основного потока. Благодарность
public class Image_array2 {
/**
* @param args the command line arguments
*/
public Image_array2()
{
photo();
}
public static void main(String[] args) {
new Image_array2();
int g=5;
Image [] arrayimages = new Image[49];
System.out.println("gamal" + g);
// TODO code application logic here
}
public void photo()
{
//try{
ImageIcon myicon;
ImageIcon[] icons = new ImageIcon[3];
JFrame frame = new JFrame();
frame.setSize(900,900);
JLabel[] labelx = new JLabel[3];
JLabel mylabel = null;
Image image;
for(int i = 0 ; i<3;i++)
{
// image= new ImageIcon(this.getClass().getResource("src/image_array2/mycards/image"+i+".jpg")).getImage();
//// Image img = new ImageIcon(this.getClass().getResource("src/image_array2/mycards/image22.jpg")).getImage();
//if (img == null)
// System.out.println(" it is nothting");
// else
//System.out.println("it is okay");
icons[i] = new ImageIcon("src/image_array2/mycards/image"+i+".jpg");
myicon = icons[i];
if (myicon == null)
System.out.println(" it is nothting");
else
System.out.println("it is okay");
labelx[i].setIcon(icons[i]);
//label[0].setIcon(icons[i]);
// mylabel.setIcon(myicon);
// frame.add(label[i]); }
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
// } catch(IOException e) {}
}
}
}
Отредактируйте вопрос и добавьте полную трассировку стека.
Вы проверили, что все изображения присутствуют в src / image_array2 / mycards в этой папке
Я добавил скриншот программы включает все




labelx[i].setIcon(icons[i]);
labelx [i], вероятно, имеет значение null при вызове этой функции
Фотографии есть. Я разместил ссылку на снимок экрана под своим сообщением на stackoerflow.com
@GamalПоследние изображения есть, но объект с индексом i в labelx имеет значение null. Вы только что инициализировали массив labelx, но все объекты равны нулю
labelx [i] имеет значение null. Обычно вы получаете исключение нулевого указателя, когда пытаетесь вызвать метод для нулевого объекта.
вы пробовали отлаживать код?