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