2014-11-20 7 views
-4
ImgSet[0] = new ImageIcon("bandeira-portugal.png", 
          "Portugal"); 
ImgSet[1] = new ImageIcon("south_korea-32.png", 
          "South_Korea"); 
ImgSet[2] = new ImageIcon("China-icon.png", 
          "China"); 
ImgSet[3] = new ImageIcon("Japan.png", 
          "Japan");  

Это мой код для значков изображений. Я получаю сообщение об ошибке «java.lang.NullPointerException«! Не могли бы вы рассказать мне, как это исправить? Мои файлы с картинками находятся в папке программы!java.lang.NullPointerException сообщение об ошибке

Да, я установил переменную ImgSet, если это имеет к этому отношение.

private Icon[] ImgSet; 
+2

пожалуйста, покажите нам StackTrace и больше кода. –

+0

Является ли ваш массив 'ImgSet' инициализированным? – khelwood

+0

ImgSet имеет 3 images.so исключение null указателя будет выброшено –

ответ

3

Инициализируйте свой массив первым. Вот и все :)

private Icon[] ImgSet = new Icon[4]; 

Помните, что вы не можете изменить длину массивов, после его инициализации, поэтому выбрать хороший размер, в данном примере это 4. Если ваша коллекция является динамической (вы будете добавлять больше элементов, в зависимости от времени выполнения), изменить его на список или установить. Помните, что массивы быстрые, но их размер не редактируется.

+0

Спасибо! Оно работает! –

0

Вы просто объявляяImgSet переменную, выполнив:

private Icon[] ImgSet; 

Для инициализации вы должны сделать что-то вроде:

private Icon[] ImgSet = new Icon[n]; 

Где n должен быть инициализирован int или Integer.

Вы можете использовать что-то вроде ArrayList или LinkedList экземпляров из пакета java.util.

+1

Спасибо! Мне удалось это исправить :) –

+0

Добро пожаловать, рад, что вы это достигли. Новое в Java, а? – diegoaguilar

0

Возможно, вы забыли инициализировать свой массив раньше.

Попробуйте это

ImageIcon[] ImgSet = 
{ 
    new ImageIcon("bandeira-portugal.png", "Portugal"), 
    new ImageIcon("south_korea-32.png", "South_Korea"), 
    new ImageIcon("China-icon.png", "China"), 
    new ImageIcon("Japan.png","Japan") 
}; 

Сомнения: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

+1

Спасибо! Оно работает! –