java - java 中的组合框无法正常工作 bluej

标签 java null jcombobox bluej

我的 ComboBox 有问题,我到处搜索,我的代码没问题。但是当我执行程序时,它显示错误 java.lang.NullPointerException

这是我的代码

    package InventarioGUI;

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.sql.SQLException;
    import java.sql.PreparedStatement;
    import java.sql.*;



public class VentanaInventario extends JFrame implements ActionListener
{

    private JComboBox cmbProducto, cmbProveedor;
    ConexionInventario Con = new ConexionInventario();
    private PreparedStatement PST = null;

    DefaultTableModel md;
    JTable tabla;
    Object data [][] = {};
    String cabeza[] = {"Cantidad", "Fecha Entrada", "Precio"};
    JScrollPane scroll;    

   public VentanaInventario()
   {
       super ("Inventario");   

       ComboProducto();
       setLayout(null);

       cmbProducto = new JComboBox();
       cmbProducto.setMaximumRowCount(5);
       cmbProducto.setBounds (120, 10, 150, 20); 
       add(cmbProducto);
    }

    private void ComboProducto(){
        try
        {
           String Sql = "SELECT Nombre_Producto FROM Producto";
           Con.ExeSql(Sql);

            while(Con.RS.next()){
                String pat = Con.RS.getString("Nombre_Producto");
                cmbProveedor.addItem(pat);

            }
       }

        catch(Exception ex){
            JOptionPane.showMessageDialog(null, ex);
        }
    }

   public static void main (String args[])
   {
       try
       {
           VentanaInventario frmVentanaInventario = new VentanaInventario();
           frmVentanaInventario.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
           frmVentanaInventario.setSize (300, 250);
           frmVentanaInventario.setVisible(true);
        }

        catch (Exception ex)
        {
         JOptionPane.showMessageDialog(null, "Error presentado al realizar operación", " VentanaInventario", JOptionPane.ERROR_MESSAGE);
        }
    }
}

所有连接和一切都在另一个类中,这很好。 请帮忙,我已经好几天了,我不知道我还能做什么!

最佳答案

您需要先实例化 cmbProveedor,然后才能在 ComboProducto() 方法中使用它。

只需添加以下行:

cmbProveedor = new JComboBox();

您可以将此行放在构造函数中的 ComboProducto() 方法调用之前,或者在使用 cmbProveedor< 之前在 ComboProducto() 内添加该行.

关于java - java 中的组合框无法正常工作 bluej,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29883346/

相关文章:

java - 将文件读取到具有多种数据类型的数组列表

java - 通过扩展具体的 parent 来拥有抽象的 child 的目的

java - 在 Spring bean 中实现空对象设计模式

java - JComboBox 宽度

java - jtable 内的动态 jcombobox 渲染

java - Java 中的方法绑定(bind)

java - 如何将一个 Pane 连接到另一个 Pane

delphi - 为什么 FreeAndNil 实现在 Free 之前执行 Nil ?

postgresql:根据其他不完整数据排除数据

java - 动态 JComboBox