我在线程 "AWT-EventQueue-0 "中遇到了java.lang.NullPointerException错误。我应该怎么做?

问题描述 投票:0回答:1

你好,我是一个新的程序员,因此我对编程了解不多,我遇到了不少错误,有些错误已经解决了,而有些错误我完全不明白。程序本身编译得很完美,但是当我运行它时,它却给我带来了一些复杂的问题。这是我的程序。

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;

import java.awt.Font;
import java.awt.SystemColor;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Vector;

import javax.swing.SwingConstants;
import javax.swing.JTable;
import javax.swing.JScrollPane;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import java.awt.Color;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Toolkit;
import javax.swing.JComboBox;
import javax.swing.JTextPane;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.GroupLayout.Alignment;
import javax.swing.GroupLayout;
import javax.swing.LayoutStyle.ComponentPlacement;


public class BismillahKasir2 extends javax.swing.JFrame {

    private static final Object Datang = null;
    private JFrame frame;
    private JTable table;
    private JTextField tfKODE;
    private JTextField tfNAMA;
    private JTextField tfSATUAN;
    private JTextField tfBANYAK;
    private JTextField tfTOTAL;
    private JTable tblKERANJANG;
    private JTextField TFBAYAR;
    private JTextField tfKEMBALI;
    private JTextField tfSUM;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    BismillahKasir2 window = new BismillahKasir2();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public BismillahKasir2() {
        initComponents();
        JOptionPane.showMessageDialog(null, "Selamat Datang di Stationaries CORNER!");
    }


    /**
     * Initialize the contents of the frame.
     */

    private void initComponents() {
        frame = new JFrame();
        frame.setUndecorated(true);
        frame.setIconImage(Toolkit.getDefaultToolkit().getImage("C:\\Users\\LENOVO\\eclipse-workspace\\2018Etugasakhir\\STATIONARY4.png"));
        frame.setTitle("Stationaries CORNER");
        frame.setBackground(SystemColor.activeCaption);
        frame.getContentPane().setBackground(Color.BLUE);
        frame.getContentPane().setFont(new Font("Berlin Sans FB", Font.BOLD, 25));
        frame.setBounds(100, 100, 800, 562);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(null);

        JButton btnHitung = new JButton("Hitung");

        JButton btnTotal = new JButton("Total");
          btnTotal.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    btnHitungActionPerformed(evt);
                }
            });
        btnTotal.setFont(new Font("Tahoma", Font.PLAIN, 14));
        btnTotal.setBounds(213, 527, 89, 23);
        frame.getContentPane().add(btnTotal);

        JButton btnCetakNota = new JButton("Cetak Nota");
        btnCetakNota.setFont(new Font("Tahoma", Font.PLAIN, 14));
        btnCetakNota.setBounds(438, 520, 104, 29);
        frame.getContentPane().add(btnCetakNota);

        tfKEMBALI = new JTextField();
        tfKEMBALI.setEditable(false);
        tfKEMBALI.setBounds(400, 480, 185, 29);
        frame.getContentPane().add(tfKEMBALI);
        tfKEMBALI.setColumns(10);

        JLabel lblKembalian = new JLabel("Kembalian:");
        lblKembalian.setFont(new Font("Tahoma", Font.PLAIN, 14));
        lblKembalian.setForeground(Color.WHITE);
        lblKembalian.setBounds(330, 487, 72, 14);
        frame.getContentPane().add(lblKembalian);

        JButton btnBayar = new JButton("Bayar");
        btnBayar.setFont(new Font("Tahoma", Font.PLAIN, 14));
        btnBayar.setBounds(445, 447, 89, 23);
        frame.getContentPane().add(btnBayar);

        TFBAYAR = new JTextField();
        TFBAYAR.setFont(new Font("Tahoma", Font.PLAIN, 14));
        TFBAYAR.setBounds(400, 411, 185, 29);
        frame.getContentPane().add(TFBAYAR);
        TFBAYAR.setColumns(10);

        JLabel lblJumlahBayar = new JLabel("Bayar:");
        lblJumlahBayar.setForeground(Color.WHITE);
        lblJumlahBayar.setFont(new Font("Tahoma", Font.PLAIN, 14));
        lblJumlahBayar.setBounds(330, 418, 57, 16);
        frame.getContentPane().add(lblJumlahBayar);


        JLabel lblJumlah = new JLabel("Jumlah:");
        lblJumlah.setFont(new Font("Tahoma", Font.PLAIN, 14));
        lblJumlah.setForeground(Color.WHITE);
        lblJumlah.setBounds(330, 376, 57, 14);
        frame.getContentPane().add(lblJumlah);

        tblKERANJANG = new JTable();
        tblKERANJANG.setFont(new Font("Tahoma", Font.PLAIN, 10));
        tblKERANJANG.setModel(new DefaultTableModel(
            new Object[][] {
                {null, null},
            },
            new String[] {
                "Barang", "Total"
            }
        ));
        tblKERANJANG.getColumnModel().getColumn(0).setPreferredWidth(100);
        tblKERANJANG.setShowVerticalLines(false);
        tblKERANJANG.setShowHorizontalLines(false);
        tblKERANJANG.setShowGrid(false);
        tblKERANJANG.setBorder(null);
        tblKERANJANG.setBounds(99, 365, 221, 151);
        frame.getContentPane().add(tblKERANJANG);

        JLabel lblKeranjangBelanja = new JLabel("Keranjang:");
        lblKeranjangBelanja.setForeground(Color.WHITE);
        lblKeranjangBelanja.setFont(new Font("Tahoma", Font.PLAIN, 14));
        lblKeranjangBelanja.setBounds(10, 429, 89, 22);
        frame.getContentPane().add(lblKeranjangBelanja);

        JScrollPane scrollPane = new JScrollPane();
        scrollPane.setBounds(309, 62, 465, 292);
        frame.getContentPane().add(scrollPane);
        Object [] Kolom = {"Kode Barang", "Nama Barang", "Harga"};
        DefaultTableModel tabel = new DefaultTableModel();
        tabel.setColumnIdentifiers(Kolom);


        LinkedList<String> kode = new LinkedList<String>();
        kode.add("1901001");
        kode.add("1901002");
        kode.add("1901003");
        kode.add("1901004");
        kode.add("1901005");
        kode.add("1901006");
        kode.add("1901007");
        kode.add("1901008");
        kode.add("1901009");
        kode.add("1901010");
        kode.add("1902001");
        kode.add("1902002");
        kode.add("1902003");
        kode.add("1902004");
        kode.add("1902005");
        kode.add("1902006");
        kode.add("1902007");
        kode.add("1902008");
        kode.add("1903001");
        kode.add("1903002");
        kode.add("1903003");
        kode.add("1903004");
        kode.add("1904001");
        kode.add("1904002");
        kode.add("1904003");
        kode.add("1905001");
        kode.add("1905002");
        kode.add("1905003");
        kode.add("1905004");
        kode.add("1905005");
        kode.add("1905006");    
        kode.add("1905007");
        kode.add("1905008");
        kode.add("1905009");
        kode.add("1905010");
        kode.add("1906001");
        kode.add("1906002");
        kode.add("1906003");
        kode.add("1906004");
        kode.add("1906005");
        kode.add("1906006");
        kode.add("1906007");
        kode.add("1906008");
        kode.add("1906009");
        kode.add("1906010");
        kode.add("1907001");
        kode.add("1907002");
        kode.add("1907003");
        kode.add("1907004");
        kode.add("1907005");
        kode.add("1907006");
        kode.add("1907007");
        kode.add("1907008");
        kode.add("1907009");
        kode.add("1907010");

        LinkedList<String> namabarang = new LinkedList<String>();
        namabarang.add("Estude Drawing Book A3");
        namabarang.add("VOS E Buku Tulis 58");
        namabarang.add("VOS E Buku Tulis 38");
        namabarang.add("Estudee E Buku Tulis 58 isi 10");
        namabarang.add("Estudee B Buku Tulis Tribal isi 5");
        namabarang.add("Vos Buku Tulis Tartan isi 5");
        namabarang.add("Vos E Buku Tulis 38 Isi 5");
        namabarang.add("Buku  Kuitansi Besar");
        namabarang.add("Buku  Kuitansi Kecil");
        namabarang.add("Buku  Kuitansi Sedang");
        namabarang.add("Paper Art");
        namabarang.add("HVS A4  70 gr SIDU 1 box");
        namabarang.add("HVS A4  70 gr SIDU 1 rim");
        namabarang.add("HVS F4 70 gr SIDU 1 box");
        namabarang.add("HVS F4 70 gr SIDU 1 rim");
        namabarang.add("Kertas Sertifikat A4 1 pak");
        namabarang.add("Kertas Sertifikat A4 per lembar");
        namabarang.add("Folio Bergaris F4");
        namabarang.add("Cat Air Titi 12 warna");
        namabarang.add("Pensil Warna Fabercastell 48");
        namabarang.add("Krayon Fabercastell");
        namabarang.add("Stabilo JOYKO");    
        namabarang.add("Tinta Printer Warna Epson 664 per pcs");
        namabarang.add("Tinta Printer Warna Epson 664 1 pak");
        namabarang.add("Tinta Stempel ARTLINE  Biru");
        namabarang.add("Deli White Glue 9070");
        namabarang.add("3M Double Side Tape 18mm");
        namabarang.add("3M Brown Packaging Tape 48x50");
        namabarang.add("3M Scotch Multipurpose Scissors");
        namabarang.add("Kid Blunt Scissor");
        namabarang.add("3M Clear Packaging Tape 48x50");
        namabarang.add("Isolasi Bening Nachi 2");
        namabarang.add("Isolasi Bening Nachi 1/2");
        namabarang.add("Lem Cair Povinal 75 ml");
        namabarang.add("Gunting Kenko Scissors");
        namabarang.add("Faber Pena Tripen Set 4");
        namabarang.add("Standard R8 Blue");
        namabarang.add("Snowman B. Marker Abg-12");
        namabarang.add("Deli Student Ruler Flexible");
        namabarang.add("Deli White Board Marker (Black)");
        namabarang.add("Standard BCOOL Black Set 12");
        namabarang.add("Standard Permanent Marker Black");
        namabarang.add("Standard Blive Nox Black Set 12");
        namabarang.add("TIP EX JOYKO Cair");
        namabarang.add("TIP EX Kertas Kenko");
        namabarang.add("3M Post It Note Page Marker 670");
        namabarang.add("Deli Thumb Tack E0020");
        namabarang.add("Deli Transparent Push Pin E0030");
        namabarang.add("3M Tape Dispenser Black C60");
        namabarang.add("Stapler HD - 12N13 BESAR");
        namabarang.add("Stapler MAX HD-10");
        namabarang.add("Plastik Mika F4 (isi 100)");
        namabarang.add("Amplop Paperline Polos 90");
        namabarang.add("Amplop Coklat uk.folio");
        namabarang.add("Penghapus Papan Tulis");


        LinkedList<String> harga = new LinkedList<String>();
        harga.add("13000");
        harga.add("59000");
        harga.add("45000");
        harga.add("59000");
        harga.add("34500");
        harga.add("34500");
        harga.add("45000");
        harga.add("6000");
        harga.add("2500");
        harga.add("4500");
        harga.add("98000");
        harga.add("170000");
        harga.add("45000");
        harga.add("200000");
        harga.add("60000");
        harga.add("90000");
        harga.add("1000");
        harga.add("20000");
        harga.add("84000");
        harga.add("94000");
        harga.add("125000");
        harga.add("8000");
        harga.add("85000");
        harga.add("320000");
        harga.add("21000");
        harga.add("8000");
        harga.add("21000");
        harga.add("38500");
        harga.add("59500");
        harga.add("34000");
        harga.add("37500");
        harga.add("5000");
        harga.add("2000");
        harga.add("4000");
        harga.add("9000");
        harga.add("13000");
        harga.add("6000");
        harga.add("9500");
        harga.add("13000");
        harga.add("7500");
        harga.add("57500");
        harga.add("10500");
        harga.add("57500");
        harga.add("6000");
        harga.add("12000");
        harga.add("23500");
        harga.add("9000");
        harga.add("28500");
        harga.add("83000");
        harga.add("160000");
        harga.add("14000");
        harga.add("33000");
        harga.add("17000");
        harga.add("36000");
        harga.add("6000");

        for(int i=0; i<kode.size();i++) {
            tabel.addRow(new Object[] {kode.get(i), namabarang.get(i), harga.get(i)});
        }

        Object[] baris = new Object[54];
        table = new JTable();
        scrollPane.setViewportView(table);
        table.setModel(tabel);

        /*{
            boolean[] columnEditables = new boolean[] {
                false, true
            };
            public boolean isCellEditable(int row, int column) {
                return columnEditables[column];
            }

        }*/

        table.setRowHeight(20);
        table.getColumnModel().getColumn(0).setPreferredWidth(10);
        table.getColumnModel().getColumn(1).setPreferredWidth(100);
        table.getColumnModel().getColumn(2).setPreferredWidth(10);

        JLabel lblKodeBarang = new JLabel("Kode Barang:");
        lblKodeBarang.setForeground(Color.WHITE);
        lblKodeBarang.setFont(new Font("Tahoma", Font.PLAIN, 14));
        lblKodeBarang.setBounds(10, 65, 99, 22);
        frame.getContentPane().add(lblKodeBarang);

        tfKODE = new JTextField();
        tfKODE.setFont(new Font("Tahoma", Font.PLAIN, 14));
        tfKODE.setBounds(99, 62, 197, 29);
        frame.getContentPane().add(tfKODE);
        tfKODE.setColumns(10);

        JButton btnCari = new JButton("Cari");
        btnCari.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                try {
                    int cari = Integer.parseInt((String) tfKODE.getText());
                    for(int i=0; i<kode.size();i++) {
                        if(cari==Integer.parseInt(kode.get(i))) {
                        tfNAMA.setText(namabarang.get(i));
                        tfSATUAN.setText(harga.get(i));
                        }
                    }
                }
                    catch(Exception e1) {
                        JOptionPane.showMessageDialog(null, "Masukkan kode barang yang benar!!");
                        tfKODE.setText("");
                    }
            }
        });
        btnCari.setFont(new Font("Tahoma", Font.PLAIN, 14));
        btnCari.setBounds(99, 96, 89, 23);
        frame.getContentPane().add(btnCari);

        JButton btnReset = new JButton("Reset");
        btnReset.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                tfKODE.setText("");
                tfNAMA.setText("");
                tfSATUAN.setText("");
                tfBANYAK.setText("");
                tfTOTAL.setText("");
            }
        });
        btnReset.setFont(new Font("Tahoma", Font.PLAIN, 14));
        btnReset.setBounds(207, 96, 89, 23);
        frame.getContentPane().add(btnReset);

        JLabel lblNamaBarang = new JLabel("Nama Barang:");
        lblNamaBarang.setForeground(Color.WHITE);
        lblNamaBarang.setFont(new Font("Tahoma", Font.PLAIN, 14));
        lblNamaBarang.setBounds(10, 130, 89, 22);
        frame.getContentPane().add(lblNamaBarang);

        tfNAMA = new JTextField();
        tfNAMA.setFont(new Font("Tahoma", Font.PLAIN, 14));
        tfNAMA.setEditable(false);
        tfNAMA.setBounds(99, 129, 197, 29);
        frame.getContentPane().add(tfNAMA);
        tfNAMA.setColumns(10);

        JLabel lblHarga = new JLabel("Harga Satuan:");
        lblHarga.setForeground(Color.WHITE);
        lblHarga.setFont(new Font("Tahoma", Font.PLAIN, 14));
        lblHarga.setBounds(10, 170, 89, 22);
        frame.getContentPane().add(lblHarga);

        tfSATUAN = new JTextField();
        tfSATUAN.setFont(new Font("Tahoma", Font.PLAIN, 14));
        tfSATUAN.setEditable(false);
        tfSATUAN.setBounds(99, 169, 197, 29);
        frame.getContentPane().add(tfSATUAN);
        tfSATUAN.setColumns(10);

        JLabel lblNewLabel = new JLabel("Banyaknya:");
        lblNewLabel.setForeground(Color.WHITE);
        lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 14));
        lblNewLabel.setBounds(10, 209, 89, 22);
        frame.getContentPane().add(lblNewLabel);

        tfBANYAK = new JTextField();
        tfBANYAK.setFont(new Font("Tahoma", Font.PLAIN, 14));
        tfBANYAK.setBounds(99, 209, 197, 29);
        frame.getContentPane().add(tfBANYAK);
        tfBANYAK.setColumns(10);


        JButton btnAdd = new JButton("Masuk Keranjang");
        btnAdd.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                DefaultTableModel dt = (DefaultTableModel) tblKERANJANG.getModel();
                Vector v = new Vector();

                v.add(tfNAMA.getText());
                v.add(tfTOTAL.getText());

                dt.addRow(v);

                /*int jumlahBaris = tblKERANJANG.getRowCount();
                int totalBiaya = 0;
                int hargaBarang=0;
                for (int i=0; i<jumlahBaris; i++){
                    hargaBarang = Integer.parseInt(tblKERANJANG.getValueAt(i, 0).toString());
                    totalBiaya = totalBiaya + hargaBarang;
                }
                tfSUM.setText(String.valueOf(totalBiaya));*/

                /*int total = 0;
                for (int i = 0; i <tblKERANJANG.getRowCount(); i++) {
                    int amount = Integer.parseInt((String) tblKERANJANG.getValueAt(i, 1));
                    total += amount;

                }

                tfSUM.setText(String.valueOf(total));*/
            }
        });

        /*btnAdd.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent arg0) {
                DefaultTableModel dataModel = (DefaultTableModel) tblKERANJANG.getModel();
                List list = new ArrayList<>();
                tblKERANJANG.setAutoCreateColumnsFromModel(true);
                list.add(tfNAMA.getText());
                list.add(tfBANYAK.getText());
                list.add(tfTOTAL.getText());
                dataModel.addRow(list.toArray());

                //sum();

                /*int jumlahBaris = tblKERANJANG.getRowCount();
                int totalBiaya = 0;
                int jumlahBarang, hargaBarang;
                TableModel tabelModel;
                tabelModel = tblKERANJANG.getModel();
                for (int i=0; i<jumlahBaris; i++){
                    jumlahBarang = Integer.parseInt(tabelModel.getValueAt(i, 2).toString());
                    hargaBarang = Integer.parseInt(tabelModel.getValueAt(i, 3).toString());
                    totalBiaya = totalBiaya + (jumlahBarang*hargaBarang);
                }
                tfSUM.setText(String.valueOf(totalBiaya));

                }*/


            //});
        btnAdd.setFont(new Font("Tahoma", Font.PLAIN, 14));
        btnAdd.setBounds(124, 325, 150, 29);
        frame.getContentPane().add(btnAdd);

        JLabel lblTotal = new JLabel("Total:");
        lblTotal.setForeground(Color.WHITE);
        lblTotal.setFont(new Font("Tahoma", Font.PLAIN, 14));
        lblTotal.setBounds(10, 290, 89, 22);
        frame.getContentPane().add(lblTotal);

        tfTOTAL = new JTextField();
        tfTOTAL.setFont(new Font("Tahoma", Font.PLAIN, 14));
        tfTOTAL.setEditable(false);
        tfTOTAL.setBounds(99, 289, 197, 29);
        frame.getContentPane().add(tfTOTAL);
        tfTOTAL.setColumns(10);
        btnHitung.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    int a, b, hasiltotal;
                    a=Integer.parseInt(tfSATUAN.getText());
                    b=Integer.parseInt(tfBANYAK.getText());
                    //a=Double.parseDouble(tfSATUAN.getText());
                    //b=Double.parseDouble(tfBANYAK.getText());
                    hasiltotal = a*b;

                    tfTOTAL.setText(Integer.toString(hasiltotal));
                }
                    catch(Exception e1) {
                        JOptionPane.showMessageDialog(null, "Inputan Salah!!");
                        tfBANYAK.setText("");
                        tfTOTAL.setText("");

                    }
            }

        });
        btnHitung.setFont(new Font("Tahoma", Font.PLAIN, 14));
        btnHitung.setBounds(124, 249, 150, 29);
        frame.getContentPane().add(btnHitung);

        JButton btnBATAL = new JButton("Batal");
        btnBATAL.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent arg0) {
                try {
                DefaultTableModel dataModel = (DefaultTableModel) tblKERANJANG.getModel();    
                if (tblKERANJANG.getRowCount() > 0) {
                    for (int i = tblKERANJANG.getRowCount() - 1; i > -1; i--) {
                        dataModel.removeRow(i);
                    }
            }
            }
                catch(Exception e1) {
                    JOptionPane.showMessageDialog(null, "Tidak ada daftar pada keranjang!");
                    tfKODE.setText("");
                }
            }
        });
        btnBATAL.setFont(new Font("Tahoma", Font.PLAIN, 14));
        btnBATAL.setBounds(114, 527, 89, 23);
        frame.getContentPane().add(btnBATAL);

        JButton btnX = new JButton("X");
        btnX.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                int s= JOptionPane.showConfirmDialog(null, "Apakah anda ingin menutup program? ");
                if(s==JOptionPane.YES_OPTION)
                {System.exit(0);
                }
            }
        });
        btnX.setFont(new Font("Tahoma", Font.PLAIN, 18));
        btnX.setBounds(731, 16, 50, 35);
        frame.getContentPane().add(btnX);

        tfSUM = new JTextField();
        tfSUM.setEditable(false);
        tfSUM.setBounds(400, 370, 185, 29);
        frame.getContentPane().add(tfSUM);
        tfSUM.setColumns(10);

        JLabel label = new JLabel("");
        label.setIcon(new ImageIcon("C:\\Users\\LENOVO\\eclipse-workspace\\2018Etugasakhir\\STATIONARY4.png"));
        label.setBounds(0, 0, 800, 560);
        frame.getContentPane().add(label);
    }

    private void btnHitungActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnHitungActionPerformed
        // TODO add your handling code here:
            int jumlahBaris = tblKERANJANG.getRowCount();
            int totalBiaya = 0;
            int jumlahBarang, hargaBarang;
            TableModel tabelModel;
            tabelModel = tblKERANJANG.getModel();
            for (int i=0; i<jumlahBaris; i++){
                jumlahBarang = Integer.parseInt(tabelModel.getValueAt(i, 1).toString());
                totalBiaya = totalBiaya + (jumlahBarang);
            }
            tfSUM.setText(String.valueOf(totalBiaya));
        }//GEN-LAST:event_btnHitungActionPerformed

}

当我运行这个程序时,它运行得很顺利,很符合要求 但是当我点击 "TOTAL "按钮时,我得到了这个错误。

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at BismillahKasir2.btnHitungActionPerformed(BismillahKasir2.java:617)
    at BismillahKasir2.access$1(BismillahKasir2.java:609)
    at BismillahKasir2$2.actionPerformed(BismillahKasir2.java:98)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(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)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at BismillahKasir2.btnHitungActionPerformed(BismillahKasir2.java:617)
    at BismillahKasir2.access$1(BismillahKasir2.java:609)
    at BismillahKasir2$2.actionPerformed(BismillahKasir2.java:98)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(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)

请帮助我,我对java不了解,谢谢。

java eclipse nullpointerexception jtable syntax-error
1个回答
1
投票

我不知道这是否破坏了什么,但在你的for循环中,我把'i = 0'改成了'i = 1',一切都没有错误。我想这是因为你的jTable中的第一个值是一个字符串。

 private void btnHitungActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnHitungActionPerformed
        // TODO add your handling code here:
            int jumlahBaris = tblKERANJANG.getRowCount();
            int totalBiaya = 0;
            int jumlahBarang, hargaBarang;
            TableModel tabelModel;
            tabelModel = tblKERANJANG.getModel();
            for (int i=1; i<jumlahBaris; i++){
                jumlahBarang = Integer.parseInt(tabelModel.getValueAt(i, 1).toString());
                totalBiaya = totalBiaya + (jumlahBarang);
            }
            tfSUM.setText(String.valueOf(totalBiaya));
        }//GEN-LAST:event_btnHitungActionPerformed
© www.soinside.com 2019 - 2024. All rights reserved.