ciao! mi dà questo errore:
Exception in thread "main" java.lang.NullPointerException
at java.awt.Container.addImpl(Container.java:1045)
at javax.swing.JToolBar.addImpl(JToolBar.java:561)
at java.awt.Container.add(Container.java:365)
at src.ZetaMoviesApp.<init>(ZetaMoviesApp.java:39)
at src.ZetaMoviesApp.main(ZetaMoviesApp.java:136)
codice:
come risolvo?
Exception in thread "main" java.lang.NullPointerException
at java.awt.Container.addImpl(Container.java:1045)
at javax.swing.JToolBar.addImpl(JToolBar.java:561)
at java.awt.Container.add(Container.java:365)
at src.ZetaMoviesApp.<init>(ZetaMoviesApp.java:39)
at src.ZetaMoviesApp.main(ZetaMoviesApp.java:136)
codice:
PHP:
package src;
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import java.sql.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.JTable;
import java.util.Vector;
class moviesApp extends JFrame implements ActionListener{
private Button ok;
private Button annulla;
private JPanel northPanel;
private JTable mainTable;
private JPanel statusBar;
private JProgressBar progressBar;
private JMenuBar menuBar;
private JMenu fileMenu;
private JMenuItem nuovoFile;
private BorderLayout borderLayout;
private JToolBar toolBar;
public moviesApp(){
borderLayout = new BorderLayout();
this.setLayout(borderLayout);
northPanel = new JPanel(new GridLayout(2,1));
menuBar = new JMenuBar();
menuBar.add(fileMenu = new JMenu("File"));
fileMenu.add(nuovoFile = new JMenuItem("Nuovo"));
toolBar = new JToolBar("toolBar",JToolBar.HORIZONTAL);
toolBar.add(ok);
toolBar.add(annulla);
ok = new Button("Ok");
ok.addActionListener(this);
annulla = new Button("Annulla");
annulla.addActionListener(this);
statusBar = new JPanel(new GridLayout(1,1));
// CREAZIONE JTABLE
try{
String driver = "org.apache.derby.jdbc.EmbeddedDriver";
Class.forName(driver).newInstance();
String protocol = "jdbc:derby:zmovies;";
Connection c = DriverManager.getConnection( protocol );
Statement exe = c.createStatement();
ResultSet rs = exe.executeQuery("SELECT * FROM movies;");
ResultSetMetaData m = rs.getMetaData();
DefaultTableModel model = new DefaultTableModel();
JTable jTable1 = new JTable(model);
// Aggiungi le colonne "manualmente"
model.addColumn("ID");
model.addColumn("Titolo");
model.addColumn("Genere");
model.addColumn("Anno");
model.addColumn("Regista");
model.addColumn("Attori");
model.addColumn("Copertina");
model.addColumn("Conservato in");
// Aggiungi le righe leggendo dal db;
while(rs.next()) {
Vector<String> row = new Vector<String>();
row.addElement(rs.getString("ID"));
row.addElement(rs.getString("Title"));
row.addElement(rs.getString("Genre"));
row.addElement(rs.getString("Release"));
row.addElement(rs.getString("Director"));
row.addElement(rs.getString("Actor"));
row.addElement(rs.getString("Cover"));
row.addElement(rs.getString("Stored"));
model.addRow(row);
}
rs.close();
exe.close();
c.close();
}
catch (ClassNotFoundException e){ System.out.println(e); }
catch (SQLException e){ System.out.println(e); }
catch (InstantiationException e){ System.out.println(e); }
catch (IllegalAccessException e){ System.out.println(e); }
northPanel.add(menuBar);
northPanel.add(toolBar);
this.add(northPanel,BorderLayout.NORTH);
this.add(mainTable,BorderLayout.CENTER);
this.add(statusBar,BorderLayout.SOUTH);
this.setTitle("mia finestra");
this.setSize(900,600);
this.setVisible(true);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
dispose();
}
public void windowIconified(WindowEvent e){
setTitle("Ridotto a Icona");
}
public void windowDeiconified(WindowEvent e){
setTitle("mia finestra");
}
} ) ;
}
public void actionPerformed(ActionEvent e){
System.out.println(e);
}
public static void main(String arg[])
{
moviesApp launch = new moviesApp();
}
}
come risolvo?