Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Exception in thread "AWT-EventQueue-0" java.lang.N, Exception in thread "AWT-EventQueue-0" j 
V
    Опции темы
skif18
  Дата 27.11.2007, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 358
Регистрация: 17.5.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 1



Что за дрэг? Или я туплю?
Подскажите люди добрые начинающему программеру в Яве!
Ошибка в консоле Eclipse 3.2.2:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at javax.swing.JList$2.getSize(Unknown Source)
    at javax.swing.JList.getPreferredScrollableViewportSize(Unknown Source)
    at javax.swing.ViewportLayout.preferredLayoutSize(Unknown Source)
    at java.awt.Container.preferredSize(Unknown Source)
    at java.awt.Container.getPreferredSize(Unknown Source)
    at javax.swing.JComponent.getPreferredSize(Unknown Source)
    at javax.swing.ScrollPaneLayout.preferredLayoutSize(Unknown Source)
    at java.awt.Container.preferredSize(Unknown Source)
    at java.awt.Container.getPreferredSize(Unknown Source)
    at javax.swing.JComponent.getPreferredSize(Unknown Source)
    at java.awt.FlowLayout.preferredLayoutSize(Unknown Source)
    at java.awt.Container.preferredSize(Unknown Source)
    at java.awt.Container.getPreferredSize(Unknown Source)
    at javax.swing.JComponent.getPreferredSize(Unknown Source)
    at java.awt.BorderLayout.layoutContainer(Unknown Source)
    at java.awt.Container.layout(Unknown Source)
    at java.awt.Container.doLayout(Unknown Source)
    at java.awt.Container.validateTree(Unknown Source)
    at java.awt.Container.validateTree(Unknown Source)
    at java.awt.Container.validateTree(Unknown Source)
    at java.awt.Container.validateTree(Unknown Source)
    at java.awt.Container.validate(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

P.S.
Прога большая. Если надо выложу...(переделка из статей Сабурова Антона по "Студенческий отдел кадров") Но мне просто узнать что за ошибка дальше сам хочу покопать как решить.

Проэкт в Еклипсе прилагаю.

Это сообщение отредактировал(а) skif18 - 27.11.2007, 18:43

Присоединённый файл ( Кол-во скачиваний: 10 )
Присоединённый файл  students.rar 30,69 Kb


--------------------

PM MAIL ICQ   Вверх
Kangaroo
Дата 27.11.2007, 18:43 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 21
Всего: 104



skif18
код покажи.


--------------------
Lost....
PM MAIL MSN   Вверх
skif18
Дата 27.11.2007, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 358
Регистрация: 17.5.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 1



Проэкт присоединил! Смотрите. Может я чего то не догоняю. Хотя не "может", а точно не догоняю! smile 


--------------------

PM MAIL ICQ   Вверх
naPz
Дата 28.11.2007, 01:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 5.1.2007

Репутация: нет
Всего: нет



А почему у тебя в менеджмент систем такие запросы странные

Код


PreparedStatement stmt = con.prepareStatement(
        "INSERT INTO obedi "+
        "(date, code_pers, code_bl, kol) " +
        "VALUES (DATE(), ?, ?, 1)");
//    stmt.setString(1, student.getFirstName());
    stmt.setString(2, student.getPatronymic());
    stmt.setString(3, student.getSurName());
    stmt.setString(4, new String(new char[] {student.getSex()} ));
    stmt.setDate(5, new Date(student.getDateOfBirth().getTime()));
    stmt.setInt(6, student.getGroupId());
    stmt.setInt(7, student.getEducationYear());

    stmt.execute();



И такое почти везде где PreparedStatement используется. Чето сеттеров много.
PM MAIL   Вверх
skif18
  Дата 28.11.2007, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 358
Регистрация: 17.5.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 1



naPz, ты прав сеттеров много. Убрал. Та же ошибка.
Так Правильно?
Код


package students.logic;

import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import javax.swing.JSpinner;

public class ManagementSystem
{
  private static Connection con; 
  private static ManagementSystem instance;

  private ManagementSystem() {
    try {
      Class.forName("org.postgresql.Driver");
      String url = "jdbc:postgresql://localhost:5432/stol";
      con = DriverManager.getConnection(url,"postgres", "syrus");
    } catch (ClassNotFoundException e1) {
      e1.printStackTrace();
    } catch (SQLException e) {
      e.printStackTrace();
    }
  }

  public static synchronized ManagementSystem getInstance()
  {
    if (instance == null) {
      instance = new ManagementSystem();
    }
    return instance;
  }

  public List getGroups() throws SQLException
  {
    List groups = new ArrayList();
    
    Statement stmt = con.createStatement();
    ResultSet rs = stmt.executeQuery("SELECT idn, code, descr, ceh FROM personal");
    while(rs.next()) {
//      Group gr = new Group();
//      gr.setGroupId(rs.getInt(1));
//      gr.setNameGroup(rs.getString(2));
//      gr.setCurator(rs.getString(3));
//      gr.setSpeciality(rs.getString(4));

//      groups.add(gr);
    }
    rs.close();
    stmt.close();
    
    return groups;
  }
   
  public Collection getPers(String y) throws SQLException 
  {
    Collection students = new ArrayList();
try {
    PreparedStatement stmt = con.prepareStatement(
        "SELECT idn, code,descr,ceh "+
        " FROM personal " +
        "WHERE code=?");
//    stmt.setInt(1, group.getGroupId());
    stmt.setString(1, y);
    ResultSet rs = stmt.executeQuery();
    while(rs.next()) {
      Student st = new Student(rs);
    
      students.add(st);
      rs.close();
      stmt.close();
    }
}
    catch(NullPointerException e){
     e.printStackTrace();
    }
    return students;
  }
  
  
  
  public Collection getAllStudents() throws SQLException
  {
    Collection students = new ArrayList();

    Statement stmt = con.createStatement();
    ResultSet rs = stmt.executeQuery(
        "SELECT id, code_pers,code_bl,kol,suma "+
        " FROM obedi ORDER BY id");
    while(rs.next()) {
      Student st = new Student(rs);
      students.add(st);
    }
    rs.close();
    stmt.close();

    return students;
  }

  public Collection getStudentsFromGroup(String y) throws SQLException 
  {
    Collection students = new ArrayList();

    PreparedStatement stmt = con.prepareStatement(
        "SELECT id, code_pers,code_bl,kol,suma, "+
        " FROM obedi " +
        "WHERE code_pers=? "+
        "ORDER BY date,id");
    stmt.setString(1, y);
//    stmt.setInt(2, year);
    ResultSet rs = stmt.executeQuery();
    while(rs.next()) {
      Student st = new Student(rs);
    
      students.add(st);
    }
    rs.close();
    stmt.close();
    
    return students;
  }

//  public void moveStudentsToGroup(Group oldGroup, int oldYear, Group newGroup, int newYear) throws SQLException
//  {
//    PreparedStatement stmt = con.prepareStatement(
//        "UPDATE obedi SET code_pers=?" +
//        "WHERE code_pers=? ");
//    stmt.setInt(1, newGroup.getGroupId());
//    stmt.setInt(2, newYear);
//    stmt.setInt(3, oldGroup.getGroupId());
//    stmt.setInt(4, oldYear);
//    stmt.execute();
//  }
    
  public void removeStudentsFromGroup(String y) throws SQLException
  {
    PreparedStatement stmt = con.prepareStatement(
        "DELETE FROM obedi WHERE code_pers=?");
    stmt.setString(1, y);
//    stmt.setInt(2, year);
    stmt.execute();
  }

  public void insertStudent(Student student,String y) throws SQLException
  {
    PreparedStatement stmt = con.prepareStatement(
        "INSERT INTO obedi "+
        "(date, code_pers, code_bl, kol) " +
        "VALUES (DATE(), ?, ?, 1)");
//    stmt.setString(1, student.getFirstName());
    stmt.setString(2, y);
    stmt.setString(3, student.getSurName());
//    stmt.setString(4, new String(new char[] {student.getSex()} ));
//    stmt.setDate(5, new Date(student.getDateOfBirth().getTime()));
//    stmt.setInt(6, student.getGroupId());
//    stmt.setInt(7, student.getEducationYear());

    stmt.execute();
  }
    
  public void updateStudent(Student student) throws SQLException
  {
//    PreparedStatement stmt = con.prepareStatement(
//        "UPDATE students SET "+
//        "firstName=?, patronymic=?, surName=?, "+
//        "sex=?, dateOfBirth=?, group_id=?, educationYear=? " +
//        "WHERE student_id=?");
//    stmt.setString(1, student.getFirstName());
//    stmt.setString(2, student.getPatronymic());
//    stmt.setString(3, student.getSurName()); 
  }
  public void deleteStudent(Student student) throws SQLException

  {

//    PreparedStatement stmt = con.prepareStatement(

//      "DELETE FROM students WHERE student_id=?");

//    stmt.setInt(1, student.getStudentId());

//    stmt.execute();

  }


}


Извините за дурацкие ошибки и вопросы - только начал Явой заниматься.


--------------------

PM MAIL ICQ   Вверх
Foo
Дата 28.11.2007, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 164
Регистрация: 20.10.2006

Репутация: нет
Всего: 3



судя по ошибке - Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException, ты работаеш гдето с GUI не в потоке EventDispatchThread, в котором должна происходить вся работа с GUI. Возможно гдето тебе нужно исопользовать SwingWorker или SwingUtilities.invokeLater(). Еслибы ты выложил приложение со всеми необходимыми либами и убрал работу с БД, чтобы его можно было запустить, можно былобы сказать чтото более конкретное.
--------------------
qip
PM MAIL   Вверх
skif18
Дата 16.12.2007, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 358
Регистрация: 17.5.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 1



Все получилось . Спасибо.


--------------------

PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0745 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.