Исключение нулевого указателя DefaultTableModel

У меня есть исключение nullpointerexception, и проблема связана с таблицей defaulttablemodel table1, кто-нибудь знает, в чем проблема? ((main))

package tafel.van.pkg7;
import javax.swing.*;

public class TafelVan7 extends JFrame {

    public static void main(String[] args) {
       JFrame frame = new TafelVan7();
        frame.setSize( 500,800);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setTitle ("quizvragen");
        frame.setContentPane( new paneel());
        frame.setVisible( true ); 
    }
}

((Panel)) Это панель с массивом и таблицей, строка добавляется в цикл for

package tafel.van.pkg7;

import java.awt.Color;
import javax.swing.*;
import javax.swing.table.*;



class paneel extends JPanel {
    public static JTable tabel;
    public JScrollPane scroll;
    static int product = 7;
    int uitkomst; 

    public paneel(){
        Object[] Kolom = {"7", "tafel van 7"};
        TableModel model = new DefaultTableModel(Kolom,0);
        DefaultTableModel tabel1 = (DefaultTableModel) tabel.getModel();

        tabel = new JTable(model);
        JTableHeader hoofd = tabel.getTableHeader();
        hoofd.setBackground(Color.BLACK);
        hoofd.setForeground(Color.WHITE);

        scroll = new JScrollPane(tabel);
        tabel.setFocusable(false);
        tabel.setRowSelectionAllowed(false);
        this.add(scroll);



        int row = 1;
        for(int x=1; x<=100;x++){
            Integer[] product = new Integer[2];
            product[0]= x;
            product[1]= x*7;
            tabel1.addRow(product);

((полная ошибка))

run:
Exception in thread "main" java.lang.NullPointerException
    at tafel.van.pkg7.paneel.<init>(paneel.java:19)
    at tafel.van.pkg7.TafelVan7.main(TafelVan7.java:12)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)

person gilles coene    schedule 30.01.2015    source источник
comment
Пожалуйста, опубликуйте трассировку стека исключений. Скорее всего у вас неинициализированный компонент.   -  person Alessandro Da Rugna    schedule 30.01.2015


Ответы (1)


Я нашел ошибку, модель defaulttable находится не в том месте, вот как это должно быть:

(часть панели)

scroll = new JScrollPane(tabel);
        tabel.setFocusable(false);
        tabel.setRowSelectionAllowed(false);
        this.add(scroll);

        DefaultTableModel tabel1 = (DefaultTableModel) tabel.getModel();

        int row = 1;
        for(int x=1; x<=100;x++){
            Integer[] product = new Integer[2];
            product[0]= x;
            product[1]= x*7;
            tabel1.addRow(product);
person gilles coene    schedule 30.01.2015