Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将项目动态添加到JComboBox_Java_Swing_Netbeans 7_Jcombobox - Fatal编程技术网

Java 将项目动态添加到JComboBox

Java 将项目动态添加到JComboBox,java,swing,netbeans-7,jcombobox,Java,Swing,Netbeans 7,Jcombobox,我必须从数据库中读取值并将其添加到jcombo框中。 项目名称从employee表中读取并存储到字符串arraylist中。然后将这些值添加到名为pro_string的字符串数组中。我试着打印这个字符串数组中的值,效果很好。但是这些值似乎没有进入comboboxcombo_项目。下面是我使用的代码。它不断抛出异常3。请帮忙 public class meeting_form extends javax.swing.JFrame { Connection mconn=new database()

我必须从数据库中读取值并将其添加到jcombo框中。 项目名称从employee表中读取并存储到字符串arraylist中。然后将这些值添加到名为pro_string的字符串数组中。我试着打印这个字符串数组中的值,效果很好。但是这些值似乎没有进入comboboxcombo_项目。下面是我使用的代码。它不断抛出异常3。请帮忙

public class meeting_form extends javax.swing.JFrame {

Connection mconn=new database().connect();


public meeting_form() {
    initComponents();

    add_projects();
}

public void add_projects()
{

    ArrayList<String> projects=new ArrayList<>();
    try{

        String pro="Select distinct project from employee";
        Statement pro_st=mconn.createStatement();
        ResultSet pro_rs=pro_st.executeQuery(pro);
        while(pro_rs.next())
        {
            String pro_name=pro_rs.getString("project");
            projects.add(pro_name);

        }
        int len=projects.size()-1;
        String[] pro_string=new String[len];
        for(int j=0;j<=len;j++)
        {
            pro_string[j]=projects.get(j);

        }
      combo_project.setModel(new javax.swing.DefaultComboBoxModel(pro_string));
    }
    catch(Exception e)
    {
        System.out.println(e.getMessage()+"......at reading project names");
    }

}

public static void main(String args[]) {

    try {

    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new meeting_form().setVisible(true);
        }
    });
}
private javax.swing.JComboBox;
我觉得这不对

int len=projects.size()-1;
String[] pro_string=new String[len];
for(int j=0;j<=len;j++)
{
    pro_string[j]=projects.get(j);
}
我想应该是这样

int len=projects.size();
String[] pro_string=new String[len];
for(int j=0;j<len;j++)
{
    pro_string[j]=projects.get(j);
}
我觉得这不对

int len=projects.size()-1;
String[] pro_string=new String[len];
for(int j=0;j<=len;j++)
{
    pro_string[j]=projects.get(j);
}
我想应该是这样

int len=projects.size();
String[] pro_string=new String[len];
for(int j=0;j<len;j++)
{
    pro_string[j]=projects.get(j);
}

尝试使用e.printStackTrace下注一条更有意义的错误消息请学习java命名约定并坚持它们。尝试使用e.printStackTrace下注一条更有意义的错误消息请学习java命名约定并坚持它们。是的。看起来pro_字符串数组不够大。如果我猜的话,我会猜这个异常是一个OutOfBoundsException,而3是一个超出边界的索引。size@mKorbel或者简单地使用projects.toArraynew字符串[0]是。看起来pro_字符串数组不够大。如果我猜的话,我会猜这个异常是一个OutOfBoundsException,而3是一个超出边界的索引。size@mKorbel或者只需使用projects.toArraynew字符串[0]