java - AWT-EventQueue-0” java.lang.ArrayIndexOutOfBoundsException : -1

标签 java swing jdbc

Possible Duplicate:
Exception Handling “AWT-EventQueue-0” java.lang.ArrayIndexOutOfBoundsException: -1

我遇到以下错误:

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
    at java.util.Vector.elementData(Vector.java:730)
    at java.util.Vector.elementAt(Vector.java:473)
    at javax.swing.DefaultListModel.elementAt(DefaultListModel.java:266)
    at bfpl.BFPL$1$2$17.actionPerformed(BFPL.java:1163)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)

and my code is:

    final JFrame f10=new JFrame("Match Result");
    f10.setVisible(true);
    f3.setVisible(false);
    f10.setSize(1000,1000);
    f10.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    final JPanel p10=new JPanel(new GridBagLayout());
    GridBagConstraints g10=new GridBagConstraints();
    g10.insets=new Insets(2,2,2,2);
    JLabel l53=new JLabel("Match No");
    JLabel l54=new JLabel("Team Win");
    JLabel l55=new JLabel("Team Lost");
    DefaultListModel dl6=new DefaultListModel();
    DefaultListModel dl7=new DefaultListModel();
    DefaultListModel dl8=new DefaultListModel();
    String f="SELECT Match_No,Team1,Team2 from Schedule";
    try{

        Connection con=DriverManager.getConnection("jdbc:mysql://127.0.0.1/BFPL","root","ilovepepsi");
        Statement s=con.createStatement();
        ResultSet rs=s.executeQuery(f);
        while(rs.next()){
            String z=rs.getString("Match_No");
            String z1=rs.getString("Team1");
            String z2=rs.getString("Team2");
            dl6.addElement(z);
            dl7.addElement(z1);
            dl8.addElement(z2);
        }
    }
    catch(SQLException ae){
        System.out.println("SQLException:"+ae.getMessage());
        System.out.println("SQLState:"+ae.getSQLState());
        System.out.println("VendorError:"+ae.getErrorCode());
        JOptionPane.showMessageDialog(p10,"Error in submitting data!");
    }
    JList li6=new JList(dl6);
    JList li7=new JList(dl7);
    JList li8=new JList(dl8);
    li6.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
    li6.setVisibleRowCount(2);
    li7.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
    li7.setVisibleRowCount(2);
    li8.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
    li8.setVisibleRowCount(2);
    JButton b25=new JButton("Back");
    JButton b26=new JButton("Save");
    f10.add(p10);
    g10.gridx=0;
    g10.gridy=0;
    p10.add(l53,g10);
    g10.gridx=1;
    g10.gridy=0;
    p10.add(new JScrollPane(li6),g10);
    g10.gridx=0;
    g10.gridy=1;
    p10.add(l54,g10);
    g10.gridx=1;
    g10.gridy=1;
    p10.add(new JScrollPane(li7),g10);
    g10.gridx=0;
    g10.gridy=2;
    p10.add(l55,g10);
    g10.gridx=1;
    g10.gridy=2;
    p10.add(new JScrollPane(li8),g10);
    g10.gridx=0;
    g10.gridy=3;
    p10.add(b25,g10);
    g10.gridx=1;
    g10.gridy=3;
    p10.add(b26,g10);
    int a9=li6.getSelectedIndex();
    int a10=li7.getSelectedIndex();
    int a11=li8.getSelectedIndex();
    final String z=(String) dl6.elementAt(a9);
    final String z1=(String) dl7.elementAt(a10);
    final String z2=(String)dl8.elementAt(a11);

最佳答案

您正在将 getSelectedIndex() 的结果传递给 elementAt()。如果列表框中未选择任何内容,则该值将超出范围。

关于java - AWT-EventQueue-0” java.lang.ArrayIndexOutOfBoundsException : -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14202044/

相关文章:

java - Oracle 日期的无效年份异常

mysql - Tomcat 7 JDBC 池在故障转移期间耗尽并且无法恢复

java - 如何使用 JDBC 和 Statement.executeQuery() 按顺序执行语句?

java - 安卓说话人识别

java - 从子元素开始使用 JAXB 解码

java - 用 Java 自动化 UI 测试

java - 一键选择所有相同的 jtable 值

java - 当一个类只调用另一个类有很多方法的一个方法时,如何降低耦合?

java - 状态设计模式: How to avoid code duplication when using entry() and exit()?

java - 没有滚动条的 JScrollPane