powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / help with NetBeans 4.1 + 2 classes
4 сообщений из 4, страница 1 из 1
help with NetBeans 4.1 + 2 classes
    #33915259
Vacheslav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
novichok v jave - sizhu srazhajus s knigoi.
code pochti ves vzat ottuda - tak chto na code ne greshu
est dva java file: - lezhat v odnoi papke:

1) ResultModel:

Код: plaintext
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.
 package  InteractiveSQL;
 import  java.sql.*;
 import  javax.swing.table.*;
 import  java.util.Vector;


 public   class  ResultModel  extends  AbstractTableModel{
    
    /** Creates a new instance of ResultModel */
    
      public   void  setResultSet(ResultSet results){
        
         try {
            ResultSetMetaData metadata=results.getMetaData();
             int  columns=metadata.getColumnCount();
            columnNames= new  String[columns];
             for ( int  i= 0 ;i<columns;i++)
                columnNames[i]=metadata.getColumnLabel(i+ 1 );
            dataRows= new  Vector<String[]>();
            String[] rowData;
             while (results.next()){
                rowData= new  String[columns];
                 for ( int  i= 0 ;i<columns;i++)
                    rowData[i]=results.getString(i+ 1 );
                dataRows.addElement(rowData);
                
            }
            fireTableChanged( null );
        } catch (SQLException sqle){
            System.err.println(sqle);
        }
    }
     public   int  getColumnCount(){
         return  columnNames.length;
        
    }
     public   int  getRowCount(){
         if (dataRows== null )
             return   0 ;
         else 
             return  dataRows.size();
    }
     public  Object getValueAt( int  row,  int  column){
        
         return  ((String[])(dataRows.elementAt(row)))[column];
    }
     public  String getColumnName( int  column){
         return  columnNames[column]== null ?"No Name":columnNames[column];
    }
    
    String[] columnNames;
    Vector<String[]> dataRows;
}


2) InteractiveSQL :

Код: plaintext
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.
 package  InteractiveSQL;
 import  java.awt.*;
 import  java.awt.event.*;
 import  javax.swing.*;
 import  javax.swing.table.*;
 import  java.sql.*;
        


 public   class  InteractiveSQL  extends  JFrame{
    
     public  Connection connection;
     public  Statement statement;
     public  ResultModel model;
    
    /**
     * @param args the command line arguments
     */
     public   static   void  main(String[] args) {
        // TODO code application logic here
        InteractiveSQL theApp= new  InteractiveSQL(
                "sun.jdbc.odbc.JdbcOdbcDriver",
                "jdbc:odbc:fantasy2go_access",
                "guest",
                "guest");
    }
    
    /** Creates a new instance of InteractiveSQL */
     public  InteractiveSQL(String driver, String url, String user, String password) {
         super ("InteractiveSQL"); 
        setBounds( 0 ,  0 ,  400 ,  300 ); 
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);  
        addWindowListener( new  WindowHandler());  
        
        command.setToolTipText("Key SQL command and press Enter");
        getContentPane().add(command, BorderLayout.NORTH);
        
        
        status.setLineWrap(true);
        status.setWrapStyleWord(true);
        getContentPane().add(status, BorderLayout.SOUTH);
        
        
        JMenu fileMenu= new  JMenu("File");
        fileMenu.setMnemonic('F'); 
        fileMenu.add(clearQueryItem); 
        fileMenu.add(exitItem); 
        menuBar.add(fileMenu); 
        setJMenuBar(menuBar); 
        
        
        
         try {
             Class .forName(driver);
            connection=DriverManager.getConnection(url,user,password);
            statement=connection.createStatement();
            
            model= new  ResultModel();
            JTable table= new  JTable(model);
            
            table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
            
            resultsPane= new  JScrollPane(table);
            getContentPane().add(resultsPane,BorderLayout.CENTER);
            
        } catch (ClassNotFoundException cnfe){
            System.err.println(cnfe);
        } catch (SQLException sqle){
            System.err.println(sqle);
        }
        pack();
        setVisible(true);
        
    }
    
    JTextField command= new  JTextField();
    JTextArea status= new  JTextArea();
    
    JScrollPane resultsPane;
    JMenuBar menuBar= new  JMenuBar();
    JMenuItem clearQueryItem= new  JMenuItem("Clear Query");
    JMenuItem exitItem= new  JMenuItem("Exit");
    
    
    
     class  WindowHandler  extends  WindowAdapter{
        
         public   void  WindowClosing(WindowEvent e){
            dispose();
            System.exit( 0 );
        }
    }
}




kompiliruet bez oshibok, tolko 2 preduprezhdenija na 1 class(zamorochki s Variant)

zapuskaju i poluchaju takoi error:


Exception in thread "main" java.lang.NullPointerException
at InteractiveSQL.ResultModel.getColumnCount(ResultModel.java:46)
at javax.swing.JTable.createDefaultColumnsFromModel(JTable.java:997)
at javax.swing.JTable.tableChanged(JTable.java:2999)
at javax.swing.JTable.setModel(JTable.java:2827)
at javax.swing.JTable.<init>(JTable.java:416)
at javax.swing.JTable.<init>(JTable.java:356)
at InteractiveSQL.InteractiveSQL.<init>(InteractiveSQL.java:74)
at InteractiveSQL.InteractiveSQL.main(InteractiveSQL.java:35)
Java Result: 1



ponimaju chto chto-to s nastroikami?! ne znaju. pomogite esli kto znaet.
prichem tut NullPointerException
...
Рейтинг: 0 / 0
help with NetBeans 4.1 + 2 classes
    #33917343
Vacheslav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mozhet kto-nibud zapustit etot code? mozhet v code problemi?
...
Рейтинг: 0 / 0
help with NetBeans 4.1 + 2 classes
    #33917646
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проинициализируй поле columnNames. Метод getColumnCount у тебя вызывается перед вызовом setResultSet(очевидно, в момент отрисовки таблицы). К этому моменту columnNames еще равно null и columnNames.length выдает NullPointerException

======================
- Я подхожу к клетке с медведем панда...
Видите, какие у него черные круги под глазами?!
Медведь панда как бы всем своим видом говорит нам: "Не бухайте!"
======================
...
Рейтинг: 0 / 0
help with NetBeans 4.1 + 2 classes
    #33917648
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К тому же у тебя вообще нигде не вызывается setResultSet

======================
- Я подхожу к клетке с медведем панда...
Видите, какие у него черные круги под глазами?!
Медведь панда как бы всем своим видом говорит нам: "Не бухайте!"
======================
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / help with NetBeans 4.1 + 2 classes
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]