Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
9 / 9 / 2
Регистрация: 25.11.2012
Сообщений: 115

Исключение javax.persistence.PersistenceException при инициализации компонентов формы

11.05.2013, 20:30. Показов 2200. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При обычном запуске приложение не вылетает, в нем просто ничего не происходит. То, что произошло исключение, можно обнаружить только по сообщению в окне debug:
Кликните здесь для просмотра всего текста

Exception in thread "AWT-EventQueue-0" javax.persistence.PersistenceException: No Persistence provider for EntityManager named null
at javax.persistence.Persistence.createEnti tyManagerFactory(Unknown Source)
at javax.persistence.Persistence.createEnti tyManagerFactory(Unknown Source)
at archdoc.MainForm.initComponents(MainForm .java:33)
at archdoc.MainForm.<init>(MainForm.java:20 )
at archdoc.Autorization.OkButtonActionPerfo rmed(Autorization.java:171)
at archdoc.Autorization.access$100(Autoriza tion.java:16)
at archdoc.Autorization$2.actionPerformed(A utorization.java:83)
at javax.swing.AbstractButton.fireActionPer formed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actio nPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActio nPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPresse d(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListen er.mouseReleased(BasicButtonListener.jav a:252)
at java.awt.AWTEventMulticaster.mouseReleas ed(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Com ponent.java:6505)
at javax.swing.JComponent.processMouseEvent (JComponent.java:3321)
at java.awt.Component.processEvent(Componen t.java:6270)
at java.awt.Container.processEvent(Containe r.java:2229)
at java.awt.Component.dispatchEventImpl(Com ponent.java:4861)
at java.awt.Container.dispatchEventImpl(Con tainer.java:2287)
at java.awt.Component.dispatchEvent(Compone nt.java:4687)
at java.awt.LightweightDispatcher.retargetM ouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMo useEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchE vent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Con tainer.java:2273)
at java.awt.Window.dispatchEventImpl(Window .java:2719)
at java.awt.Component.dispatchEvent(Compone nt.java:4687)
at java.awt.EventQueue.dispatchEventImpl(Ev entQueue.java:729)
at java.awt.EventQueue.access$200(EventQueu e.java:103)
at java.awt.EventQueue$3.run(EventQueue.jav a:688)
at java.awt.EventQueue$3.run(EventQueue.jav a:686)
at java.security.AccessController.doPrivile ged(Native Method)
at java.security.ProtectionDomain$1.doInter sectionPrivilege(ProtectionDomain.java:7 6)
at java.security.ProtectionDomain$1.doInter sectionPrivilege(ProtectionDomain.java:8 7)
at java.awt.EventQueue$4.run(EventQueue.jav a:702)
at java.awt.EventQueue$4.run(EventQueue.jav a:700)
at java.security.AccessController.doPrivile ged(Native Method)
at java.security.ProtectionDomain$1.doInter sectionPrivilege(ProtectionDomain.java:7 6)
at java.awt.EventQueue.dispatchEvent(EventQ ueue.java:699)
at java.awt.EventDispatchThread.pumpOneEven tForFilters(EventDispatchThread.java:242 )
at java.awt.EventDispatchThread.pumpEventsF orFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsF orHierarchy(EventDispatchThread.java:150 )
at java.awt.EventDispatchThread.pumpEvents( EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents( EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDi spatchThread.java:91)

Проблема возникает только с MainForm. Текст кода такой:
Java
1
2
3
4
5
6
7
8
9
10
11
12
if(admin) {
                        AdminChoice adminChoice = new AdminChoice(dbc);
                        adminChoice.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
                        adminChoice.setVisible(true);
                        this.dispose();
                    }
                    else {
                        MainForm mainform = new MainForm(dbc); //ПРОБЛЕМА ЗДЕСЬ
                        mainform.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
                        mainform.setVisible(true);
                        this.dispose();
                    }
Опытным путем было установлено, что исключение вылетает в методе initComponents(), который находится в конструкторе формы MainForm.
Привожу текст класса MainForm:
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package archdoc;
 
import java.awt.Rectangle;
import java.awt.event.WindowEvent;
 
/**
 *
 * @author fadeinmad
 */
public class MainForm extends javax.swing.JFrame {
 
    /**
     * Creates new form MainForm
     */
    public MainForm(DBConn dbc) {
        initComponents();
        this.dbc = dbc;
    }
 
    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {
 
        entityManager1 = java.beans.Beans.isDesignTime() ? null : javax.persistence.Persistence.createEntityManagerFactory(null).createEntityManager();
        tabs = new javax.swing.JTabbedPane();
        jScrollPane1 = new javax.swing.JScrollPane();
        AllTable = new javax.swing.JTable();
        jScrollPane2 = new javax.swing.JScrollPane();
        AuthorTable = new javax.swing.JTable();
        MainMenu = new javax.swing.JMenuBar();
        fileMenu = new javax.swing.JMenu();
        openMenuItem = new javax.swing.JMenuItem();
        saveMenuItem = new javax.swing.JMenuItem();
        saveAsMenuItem = new javax.swing.JMenuItem();
        exitMenuItem = new javax.swing.JMenuItem();
        editMenu = new javax.swing.JMenu();
        cutMenuItem = new javax.swing.JMenuItem();
        copyMenuItem = new javax.swing.JMenuItem();
        pasteMenuItem = new javax.swing.JMenuItem();
        deleteMenuItem = new javax.swing.JMenuItem();
        helpMenu = new javax.swing.JMenu();
        contentsMenuItem = new javax.swing.JMenuItem();
        aboutMenuItem = new javax.swing.JMenuItem();
 
        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Главное окно");
 
        AllTable.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane1.setViewportView(AllTable);
 
        tabs.addTab("Все документы", jScrollPane1);
 
        AuthorTable.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane2.setViewportView(AuthorTable);
 
        tabs.addTab("Свои документы", jScrollPane2);
 
        fileMenu.setMnemonic('f');
        fileMenu.setText("Файл");
 
        openMenuItem.setMnemonic('o');
        openMenuItem.setText("Open");
        fileMenu.add(openMenuItem);
 
        saveMenuItem.setMnemonic('s');
        saveMenuItem.setText("Save");
        fileMenu.add(saveMenuItem);
 
        saveAsMenuItem.setMnemonic('a');
        saveAsMenuItem.setText("Save As ...");
        saveAsMenuItem.setDisplayedMnemonicIndex(5);
        fileMenu.add(saveAsMenuItem);
 
        exitMenuItem.setMnemonic('x');
        exitMenuItem.setText("Exit");
        exitMenuItem.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                exitMenuItemActionPerformed(evt);
            }
        });
        fileMenu.add(exitMenuItem);
 
        MainMenu.add(fileMenu);
 
        editMenu.setMnemonic('e');
        editMenu.setText("Edit");
 
        cutMenuItem.setMnemonic('t');
        cutMenuItem.setText("Cut");
        editMenu.add(cutMenuItem);
 
        copyMenuItem.setMnemonic('y');
        copyMenuItem.setText("Copy");
        editMenu.add(copyMenuItem);
 
        pasteMenuItem.setMnemonic('p');
        pasteMenuItem.setText("Paste");
        editMenu.add(pasteMenuItem);
 
        deleteMenuItem.setMnemonic('d');
        deleteMenuItem.setText("Delete");
        editMenu.add(deleteMenuItem);
 
        MainMenu.add(editMenu);
 
        helpMenu.setMnemonic('h');
        helpMenu.setText("Help");
 
        contentsMenuItem.setMnemonic('c');
        contentsMenuItem.setText("Contents");
        helpMenu.add(contentsMenuItem);
 
        aboutMenuItem.setMnemonic('a');
        aboutMenuItem.setText("About");
        helpMenu.add(aboutMenuItem);
 
        MainMenu.add(helpMenu);
 
        setJMenuBar(MainMenu);
 
        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(tabs, javax.swing.GroupLayout.DEFAULT_SIZE, 824, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(tabs, javax.swing.GroupLayout.DEFAULT_SIZE, 412, Short.MAX_VALUE)
        );
 
        pack();
    }// </editor-fold>                        
 
    private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) {                                             
        System.exit(0);
    }                                            
 
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see [url]http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html[/url] 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(MainForm.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>
    }
    private DBConn dbc;
    // Variables declaration - do not modify                     
    private javax.swing.JTable AllTable;
    private javax.swing.JTable AuthorTable;
    private javax.swing.JMenuBar MainMenu;
    private javax.swing.JMenuItem aboutMenuItem;
    private javax.swing.JMenuItem contentsMenuItem;
    private javax.swing.JMenuItem copyMenuItem;
    private javax.swing.JMenuItem cutMenuItem;
    private javax.swing.JMenuItem deleteMenuItem;
    private javax.swing.JMenu editMenu;
    private javax.persistence.EntityManager entityManager1;
    private javax.swing.JMenuItem exitMenuItem;
    private javax.swing.JMenu fileMenu;
    private javax.swing.JMenu helpMenu;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JMenuItem openMenuItem;
    private javax.swing.JMenuItem pasteMenuItem;
    private javax.swing.JMenuItem saveAsMenuItem;
    private javax.swing.JMenuItem saveMenuItem;
    private javax.swing.JTabbedPane tabs;
    // End of variables declaration                   
 
    void mainForm_Resize(WindowEvent evt) {
        Rectangle tabsBounds = tabs.getBounds();
        Rectangle windowBounds = this.getBounds();
        tabs.setBounds(tabsBounds.x, tabsBounds.y, windowBounds.width - tabsBounds.x, windowBounds.height - tabsBounds.y);
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.05.2013, 20:30
Ответы с готовыми решениями:

При инициализации формы возникает исключение
Есть класс: public class Parametrs { public static double a; .... } Есть обработчик события, что...

Missing artifact javax.persistence:ejb:jar:3.0-public_review
Maven project. pom.xml file: &lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; ...

При запуске и инициализации формы: "MyApplication.MainForm" выдал исключение
При запуске и инициализации формы откуда то начала появляться ошибка TypeInitializationException Инициализатор типа...

4
 Аватар для AckiyBolt
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
11.05.2013, 20:44
ошибка в 34 строке. чего вы ему нулл кормите?
0
9 / 9 / 2
Регистрация: 25.11.2012
Сообщений: 115
11.05.2013, 20:58  [ТС]
Спасибо, что подсказали. Работаю в NetBeans и эта строка сгенерирована автоматически. Я ее даже не видел. Это мой первый опыт работы с Java (взялся писать приложение по курсовой). Поэтому пишу практически "вслепую", то есть, не понимая, что там (в автоматически сгенерированном коде) происходит и как. Буду теперь разбираться, ЧТО туда добавить вместо null.
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
11.05.2013, 21:11
Цитата Сообщение от fadeinmad Посмотреть сообщение
не понимая, что там (в автоматически сгенерированном коде) происходит и как
рекомендую WindowBuilder в эклипсе, там более красивый код генерится и его можно редактировать
0
9 / 9 / 2
Регистрация: 25.11.2012
Сообщений: 115
11.05.2013, 22:10  [ТС]
Цитата Сообщение от mutagen Посмотреть сообщение
рекомендую WindowBuilder в эклипсе
Спасибо, думаю, воспользуюсь советом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.05.2013, 22:10
Помогаю со студенческими работами здесь

Исключение при инициализации com компонента в программе
Функция CoInitialize(nil) возвращает 1. RaiseLastWin32Error собщает об исключении: Project &lt;project-name&gt; raised exception class...

Правила хорошего тона при инициализации компонентов
Допустим есть форма и я хочу выполнить некоторые действия над группой компонентов в отдельном методе. Как правильнее: Передавать...

Оформление компонентов javax.swing
знаю, что можно как-то изменить представление компонентов библиотеки swing (они могут быть представлены в трех-четырех видах), знаю также,...

При инициализации формы подключение к БД
Во время запуска формы, из БД в определенные поля(листбоксы, комбобоксы) вставляется информация. Если шаблон с макросом перенести на...

TypeInitializationException при инициализации формы
Здравствуйте! При инициализации формы выскакивает исключение TypeInitializationException. Причём никуда &quot;внутрь&quot; в код класса не...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru