Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 12.07.2014
Сообщений: 16

Не создается GUI форма

12.05.2015, 11:36. Показов 1293. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Пишу программу,которая работает с GUI и БД. Создал форму Connection_Form для подключения к БД,после подключения,я хочу перейти на следующую форму Options_Form,в которой будут указаны опции для выбора. После подключения выводит следующее исключение:
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
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at resources.Opt_Form.$$$setupUI$$$(Opt_Form.java)
    at resources.Opt_Form.<init>(Opt_Form.java:18)
    at resources.Connection_Form$1.actionPerformed(Connection_Form.java:38)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6525)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
    at java.awt.Component.processEvent(Component.java:6290)
    at java.awt.Container.processEvent(Container.java:2234)
    at java.awt.Component.dispatchEventImpl(Component.java:4881)
    at java.awt.Container.dispatchEventImpl(Container.java:2292)
    at java.awt.Component.dispatchEvent(Component.java:4703)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
    at java.awt.Container.dispatchEventImpl(Container.java:2278)
    at java.awt.Window.dispatchEventImpl(Window.java:2739)
    at java.awt.Component.dispatchEvent(Component.java:4703)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
    at java.awt.EventQueue.access$400(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.awt.EventQueue$3.run(EventQueue.java:691)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:719)
    at java.awt.EventQueue$4.run(EventQueue.java:717)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Стек-Трейс указывает на строчку setContentPane(panel2)
А вот и сам код:

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
public class Connection_Form extends JFrame {
    private JPanel panel1;
    private JTextField textField1;
    private JPasswordField passwordField1;
    private JButton loginButton;
    private DBWorker worker;
 
    public JButton getLoginButton() {
        return loginButton;
    }
 
 
 
    public Connection_Form() {
        super();
 
        setContentPane(panel1);
        pack();
        setVisible(true);
 
        loginButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                String user = textField1.getText();
                String password = passwordField1.getText();
                worker = new DBWorker(user, password);
                if (e.getSource() == loginButton) {
                    new Opt_Form();
                    setVisible(false);
                }
 
            }
 
 
        });
 
 
}
}
Класс DB_Worker(вход в БД выполняется):
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class DBWorker {
    private static final String HOST = "jdbc:postgresql://localhost:5432/Club";
    private  static   String USERNAME;
    private static  String PASSWORD;
    private static Connection connection;
 
    public DBWorker(String USERNAME,String PASSWORD) {
        this.USERNAME = USERNAME;
        this.PASSWORD = PASSWORD;
        try {
            connection = DriverManager.getConnection(HOST,USERNAME,PASSWORD);
        }catch (SQLException e) {
            System.out.println("Не правильное имя или пароль");
            e.printStackTrace();
        }
    }
}
Класс Opt_Form:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Opt_Form extends JFrame {
    private JButton button1;
    private JPanel panel2;
    private JButton button2;
    private JButton button3;
    private JButton button4;
 
    Opt_Form() {
        super();
 
        setContentPane(panel2);
        pack();
        setVisible(true);
    }
 
    private void createUIComponents() {
        // TODO: place custom component creation code here
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.05.2015, 11:36
Ответы с готовыми решениями:

Не создается форма
Появляется сообщение Не удается создать форму. Я все делал по пунктам (вторая глава в текстовом файле). Все находится здесь ...

Не создается форма
Привет=) посмотрите пожалуйста пример... там не работает создание форм:( Файл txt с описанием проблемы внутри

Создаётся пустая форма
Здравствуйте. У меня есть в программе форма TRunForm , которая создаётся по нажатию кнопки. За размещение компонентов на этой форме...

9
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
12.05.2015, 13:34
прежде чем использовать любые объекты их нужно вначале создать, к примеру panel2=new JPanel();
0
0 / 0 / 0
Регистрация: 12.07.2014
Сообщений: 16
12.05.2015, 16:33  [ТС]
Сделал. Не помогло. Выводит ту же ошибку.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
12.05.2015, 17:17
можно весь, обновленный код показать (можно без БД)?
0
0 / 0 / 0
Регистрация: 12.07.2014
Сообщений: 16
12.05.2015, 17:19  [ТС]
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Opt_Form extends JFrame {
    private JButton button1;
    private JPanel panel2;
    private JButton button2;
    private JButton button3;
    private JButton button4;
 
    Opt_Form() {
        super();
        panel2 = new JPanel();
        setContentPane(panel2);
        pack();
        setVisible(true);
    }
 
    private void createUIComponents() {
        // TODO: place custom component creation code here
    }
}
Java
1
2
3
4
5
6
7
8
9
10
public class Connection_Form extends JFrame {
    private JPanel panel1;
    private JTextField textField1;
    private JPasswordField passwordField1;
    private JButton loginButton;
    private DBWorker worker;
 
    public JButton getLoginButton() {
        return loginButton;
    }
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public Connection_Form() {
        super();
 
        setContentPane(panel1);
        pack();
        setVisible(true);
 
        loginButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                String user = textField1.getText();
                String password = passwordField1.getText();
                worker = new DBWorker(user, password);
                if (e.getSource() == loginButton) {
                    new Opt_Form();
                    setVisible(false);
                }
 
            }
 
 
        });
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
12.05.2015, 17:38
может в методе Мейн лишнего написали? я вот запускаю и создаю без проблем, обе формы создаются. Правда еще и логинБаттон надо создать. Привыкайте создавать объекты перед использованием.
0
0 / 0 / 0
Регистрация: 12.07.2014
Сообщений: 16
12.05.2015, 17:44  [ТС]
Вот мой Main:
Java
1
2
3
4
5
6
public class Main {
    public static void main (String[]args){
            Connection_Form connection_form = new Connection_Form();
 
        }
    }
Просто еще какой-то exception кнопка выдает.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
12.05.2015, 18:22
кнопка выдает исключение так как не создана!
Java
1
private JButton loginButton=new JButton("hello");
у меня нет никаких ошибок все запускается, обе формы
0
0 / 0 / 0
Регистрация: 12.07.2014
Сообщений: 16
12.05.2015, 21:52  [ТС]
Я использую Intellij IDEA,просто перетаскиваю кнопку на панель. Разве не должен автоматически создаваться код для инициализации кнопки?

Добавлено через 6 минут
Что самое интересное: если удалить все кнопки с Opt_Form,то она вызовется.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
13.05.2015, 15:16
Цитата Сообщение от Proskur13 Посмотреть сообщение
просто перетаскиваю кнопку на панель
а вот этого не надо, привыкайте писать руками, тогда и таких ошибок не будет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.05.2015, 15:16
Помогаю со студенческими работами здесь

Не создаётся новая форма
Выбивает ошибку. Скрин прилагается. Delphi 7, Windows 8.

Не создается user форма в Excel
Пользуюсь Excel 2007. Про попытке поместить клавишу с toolbar на область user формы, выскакивает какая-то ошибка. Это только у меня так,...

Как создается форма записи на прием?
Доброго времени суток. У меня появилась небольшая проблема. Для моей курсовой по созданию сайта нужно добавить Форму Записи на прием к...

Форма gui и рисунок
Задание: создать форму, при нажатии на кнопку появляется диалоговое окно, где указывается расположение картинки. Вводим адрес. В форме...

При выполнении Show() создается новая форма
Здравствуйте. Возникла такая проблема. В проекте имеется две формы с TextBox-ами. При заполнении TextBox в первой форме нужно перейти во...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru