Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
0 / 0 / 1
Регистрация: 11.08.2016
Сообщений: 25

NullPointerException при добавлении объекта в ArrayList

11.08.2016, 11:06. Показов 3306. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Проблема в том, что при добавлении объекта в список ArrayList, моя программа выдаёт java.lang.NullPointerException. Код прилагается, помогите разобраться пожалуйста .
Кликните здесь для просмотра всего текста

Main
Java
1
2
3
4
5
public class Main {
    public static void main(String[] args) {
        Gui gui = new Gui("Морской бой");
    }
}
Gui
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import javax.swing.*;
import java.util.ArrayList;
 
public class Gui extends JFrame {
    int i;
    ArrayList<Button> buttonsList;
    JFrame gui = new JFrame();
    Button but;
    int xGrid;
 
    public Gui(String title){
        super(title);
        defaultOperation();
        paintCells(10, 10, 20, 20);
        setVisible(true);
    }
 
    private void paintCells(int xLoc, int yLoc, int xSiz, int ySiz){
        int xLocM = xLoc;
        while (i < 100){
            but = new Button();
            but.setLocation(xLocM, yLoc);
            but.setSize(xSiz, ySiz);
            buttonsList.add(but);                             //Вот тут выдаёт ошибку
            add(but);
            i++;
            if (xGrid < 9){
                xLocM = xLoc + (xSiz * (xGrid + 1));
                xGrid++;
            } else{
                yLoc = yLoc + ySiz;
                xGrid = 0;
                xLocM = xLoc;
            }
 
        }
    }
 
    public void defaultOperation(){
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(400, 400);
        setLocationRelativeTo(null);
        setResizable(false);
        setLayout(null);
    }
}
Класс Button просто расширяет JButton, добавляя пару переменных, которые я потом буду запрашивать у кнопки.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.08.2016, 11:06
Ответы с готовыми решениями:

Ошибка java.lang.NullPointerException при добавлении записи в базу данных
Здравствуйте! Подскажите, пожалуйста, почему 15-ая строка возвращает нулевое значание? Что не так? Соединение находит, доходит до 15...

При создании нового объекта класса NullPointerException
Добрый день. Есть два класса // содержит индексы для таблицы public class Slot { private int _row; private int...

Мерцание при рандомном добавлении объекта
Добрый день.нарисовал анимацию,нужно рандомно добавить дерево,но когда оно добавляется начинает очень сильно лагать,в чем причина не...

4
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
11.08.2016, 11:08
ICaxapI, покажите весь трейс ошибки и ту строку где она возникает.
1
0 / 0 / 1
Регистрация: 11.08.2016
Сообщений: 25
11.08.2016, 11:11  [ТС]
Вот:
Кликните здесь для просмотра всего текста
Exception in thread "main" java.lang.NullPointerException
at Gui.paintCells(Gui.java:24)
at Gui.<init>(Gui.java:14)
at Main.main(Main.java:3)
at sun.reflect.NativeMethodAccessorImpl.inv oke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.inv oke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.jav a:43)
at java.lang.reflect.Method.invoke(Method.j ava:498)
at com.intellij.rt.execution.application.Ap pMain.main(AppMain.java:144)

Process finished with exit code 1

Строка 24 в Gui: buttonsList.add(but);
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
11.08.2016, 11:32
Лучший ответ Сообщение было отмечено ICaxapI как решение

Решение

Java
1
List<Button> buttonsList=new ArrayList<>();
1
0 / 0 / 1
Регистрация: 11.08.2016
Сообщений: 25
11.08.2016, 11:40  [ТС]
Спасибо. Блин, глупая ошибка, нужно быть внимательнее...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.08.2016, 11:40
Помогаю со студенческими работами здесь

При добавлении объекта приложение выпадает ошыбка
Раньше был вот такой код (приведен ниже) для выделения диапазона ячеек. Range(&quot;A1&quot;).Activate Range(Selection,...

Дублирование в другую таблицу при добавлении объекта
Пишу маленький проект с многоуровневой архитектурой. Использую EF, automapper, для маппинга дто моделей. Возникла проблема при добавлении...

Ошибка при программном добавлении объекта на форму
Привет! Возникла такая проблема: при программном добавлении на форму текстбоксов и лейблов вываливается ошибка &quot;type...

При добавлении объекта в бд у поля ID слетает свойство identity
В модели имеем id: public Int64 Id { get; set; } В бд изначально создал табличку, с полем Id(identity(1,1)) Почему то...

Ошибка при добавлении в вектор объекта типа thread
функцию запускаю void Sorted_Char( char *Memory_Damp, int i_find, int size_arr, std::vector &lt; stream_g &gt;&amp;streams_f ) { for (int i...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru