有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

swing ask:使用java从数据库显示Jtable时出错。lang.NullPointerException

我已经运行了我的主要方法

package com.dascom.view;

    public class Main {

        public static void main(String[] args) {

            new JFrameDatabarang().setVisible(true);

        }

    }

并得到错误

        Connection succes
        Exception in thread "main" java.lang.NullPointerException
            at com.dascom.controller.DatabarangController.isiTable(DatabarangController.java:54)
            at com.dascom.view.JFrameDatabarang.<init>(JFrameDatabarang.java:130)
            at com.dascom.view.Main.main(Main.java:7)

这里是DatabarangController。爪哇:54

frameDatabarang.JtableDatabarang().setModel(dtm);

在我的DatabarangConroller课上

public class DatabarangController {


        JFrameDatabarang frameDatabarang;
        Databarangimpl databarangimpl;
        List<Databarang> listDatabarang;


    public DatabarangController(JFrameDatabarang frameDatabarang)  {
    this.frameDatabarang = frameDatabarang;
    databarangimpl = new DatabarangDAO();
    listDatabarang = databarangimpl.getByAll();

    }


    public void isiTable() {
            listDatabarang = databarangimpl.getByAll();
            DatabarangTabelModel dtm = new DatabarangTabelModel(listDatabarang);
            frameDatabarang.JtableDatabarang().setModel(dtm);

        }
    }

这是JFrameDatabarang。爪哇:130

databarangController.isiTable();

    public JFrameDatabarang() {
    initcomponent();

    databarangController = new DatabarangController(this);
    databarangController.isiTable();

    JtableDatabarang = new JTable();
    JtableDatabarang.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            databarangController.isiField(JtableDatabarang.getSelectedRow());


        }
    });
    JtableDatabarang.setBounds(17, 384, 599, 136);
    contentPane.add(JtableDatabarang);

    }

@Katja 我将jtableDatabarang包含在公共JframeDatabarang()中

所以。在我把reconned改为@katja和@Denish之后

JFrameDatabarang正在运行。我试图在JFrameDatabarang中输入一个值

我搞错了

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: empty String
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1842)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:538)
at com.dascom.controller.DatabarangController.insert(DatabarangController.java:74)
at com.dascom.view.JFrameDatabarang$3.actionPerformed(JFrameDatabarang.java:235)

这是DatabarangController。爪哇:74

databarang.setHargajual(Double.parseDouble(frameDatabarang.JtextHargajual().getText()));

在DatabarangController类上,我插入了一个方法

public void insert()   {
    Databarang databarang = new Databarang();

    databarang.setNamabarang(frameDatabarang.JtextNamabarang().getText());
    databarang.setStok(Integer.parseInt(frameDatabarang.JtextStok().getText()));
    databarang.setHargajual(Double.parseDouble(frameDatabarang.JtextHargajual().getText()));
    databarang.setHargabeli(Double.parseDouble(frameDatabarang.JtextHargabeli().getText()));
    databarang.setSatuanukuran(frameDatabarang.JtextSatuanukuran().getText());
    databarang.setDeksripsi(frameDatabarang.JtextDeskripsi().getText());
    databarang.setKeterangan(frameDatabarang.JtextKeterangan().getText());

    databarangimpl.insertDatabarang(databarang);
}

我试图在stackoverflow on中搜索与我相同错误的主题

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: empty String

没有什么能解决问题


共 (1) 个答案

  1. # 1 楼答案

    正如Katja所指出的,您的订单是错误的,所以请更改:

    databarangController = new DatabarangController(this);
    databarangController.isiTable();
    
    JtableDatabarang = new JTable();
    

    致:

    JtableDatabarang = new JTable();
    databarangController = new DatabarangController(this);
    databarangController.isiTable();