Получить исключение nullpointer в основном потоке

в этой программе я хотел загрузить изображения в массив изображений в 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) {}
}
    }
}

снимок экрана программы

вы пробовали отлаживать код?

M A. 07.10.2018 13:06

Отредактируйте вопрос и добавьте полную трассировку стека.

Ortomala Lokni 07.10.2018 13:08

Вы проверили, что все изображения присутствуют в src / image_array2 / mycards в этой папке

Chickenturtle 07.10.2018 13:10

Я добавил скриншот программы включает все

Gamal Last 08.10.2018 05:47
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
4
50
2

Ответы 2

labelx[i].setIcon(icons[i]);

labelx [i], вероятно, имеет значение null при вызове этой функции

Фотографии есть. Я разместил ссылку на снимок экрана под своим сообщением на stackoerflow.com

Gamal Last 09.10.2018 02:51

@GamalПоследние изображения есть, но объект с индексом i в labelx имеет значение null. Вы только что инициализировали массив labelx, но все объекты равны нулю

Martin 09.10.2018 14:16

labelx [i] имеет значение null. Обычно вы получаете исключение нулевого указателя, когда пытаетесь вызвать метод для нулевого объекта.

Другие вопросы по теме