Chilli Δημοσ. 25 Ιανουαρίου 2010 Δημοσ. 25 Ιανουαρίου 2010 >Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1 at java.util.ArrayList.get(ArrayList.java:323) at payword.user.CertificateTableModel.getSelected(CertificateTableModel.java:61) at payword.user.ClientWindow.vendorConnectButtonActionPerformed(ClientWindow.java:373) at payword.user.ClientWindow.access$500(ClientWindow.java:23) at payword.user.ClientWindow$6.actionPerformed(ClientWindow.java:182) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:5517) at javax.swing.JComponent.processMouseEvent(JComponent.java:3135) at java.awt.Component.processEvent(Component.java:5282) at java.awt.Container.processEvent(Container.java:1966) at java.awt.Component.dispatchEventImpl(Component.java:3984) at java.awt.Container.dispatchEventImpl(Container.java:2024) at java.awt.Component.dispatchEvent(Component.java:3819) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822) at java.awt.Container.dispatchEventImpl(Container.java:2010) at java.awt.Window.dispatchEventImpl(Window.java:1791) at java.awt.Component.dispatchEvent(Component.java:3819) at java.awt.EventQueue.dispatchEvent(EventQueue.java:463) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110) Για να καταλάβετε αυτό το exception εμφανίζεται όταν πάω να συνδεθώ στην πόρτα 11201(και συγκεκριμένα πατώντας το κουμπί Connect) και στην πόρτα 11202... ενώ η 11200 δουλέυει κανονικά... :whistle:
jstark Δημοσ. 25 Ιανουαρίου 2010 Δημοσ. 25 Ιανουαρίου 2010 Νομίζω αυτό τα λέει όλα: ArrayIndexOutOfBoundsException: -1
virxen75 Δημοσ. 25 Ιανουαρίου 2010 Δημοσ. 25 Ιανουαρίου 2010 at payword.user.CertificateTableModel.getSelected(CertificateTableModel.java:61) εδώ σου λέει ότι είναι το λάθος στην γραμμή 61. το μήνυμα λάθους σου λέει ότι ζητησες εσφαλμένα την τιμή για την θέση -1 αν θες διορθώσεις ,πρέπει να στείλεις όλο τον κώδικα , ή το project αν είναι σε netbeans
Chilli Δημοσ. 25 Ιανουαρίου 2010 Μέλος Δημοσ. 25 Ιανουαρίου 2010 ναι ρε παίδες το γνωρίζω αυτό .. το τι φταίει δε γνωρίζω και βγάζει αυτό το exception γιαυτό ρωτάω μήπως έχει ιδέα κανείς.. virxen σου έστειλα pm.
virxen75 Δημοσ. 27 Ιανουαρίου 2010 Δημοσ. 27 Ιανουαρίου 2010 int i = certificateTable.getSelectedRow(); όταν ο πίνακας είναι κενός το i=-1 το περνάς σαν παράμετρο και πέρνεις το λάθος που αναφέρεις.
Chilli Δημοσ. 27 Ιανουαρίου 2010 Μέλος Δημοσ. 27 Ιανουαρίου 2010 όταν ο πίνακας είναι κενός το i=-1το περνάς σαν παράμετρο και πέρνεις το λάθος που αναφέρεις. Καταρχήν φίλε.. ευχαριστώ για την βοήθεια.. Θα ήθελα να πώ το εξής.. Κατι μου λέει οτι κατι δεν πάει καλα με την σύνδεση με την βάση (μέσω του wampServer) γιατί το ίδο πρόβλημα εμφανίζεται σε αυτό το σημείο είτε εχω ανοιχτό το wamp είτε όχι.. Επίσης κανένας απο τους πίνακες δεν είναι κενός.. >private void vendorConnectButtonActionPerformed(java.awt.event.ActionEvent evt) { int port = Integer.parseInt(portTf1.getText()); int amount = (Integer)amountSpinner.getValue(); int i = certificateTable.getSelectedRow(); CertificateTableModel model = (CertificateTableModel)certificateTable.getModel(); ClientCommitment commitment = new ClientCommitment(model.getSelected(i), new Date(), "", amount); vendorConnection = new ClientToVendorConnection(addressTf1.getText(), port, this, commitment, user); Κατα την γνώμη σου τι θα πρέπει να αλλάξω εδώ δηλαδη? Αν μπορείς κάνε ένα edit.. Ευχαριστώ και πάλι!
virxen75 Δημοσ. 27 Ιανουαρίου 2010 Δημοσ. 27 Ιανουαρίου 2010 Λοιπόν βρήκα τι συμβαίνει! χρησιμοποιείς το getSelectedRow --->την επιλέγμένη γραμμή δηλαδή δοκίμασε λοιπόν να κλικάρεις μία γραμμή ενός πίνακα(θα αλλάξει χρώμα) και μετά πάτα το connect.Θα δεις ότι δουλεύει! τι πρέπει να αλλάξεις > ...... int i = certificateTable.getSelectedRow(); if (i<0) { System.out.println("choose a row first");//εσύ βάλε joptionpane return ; } ........
Chilli Δημοσ. 27 Ιανουαρίου 2010 Μέλος Δημοσ. 27 Ιανουαρίου 2010 Λοιπόν βρήκα τι συμβαίνει! χρησιμοποιείς το getSelectedRow --->την επιλέγμένη γραμμή δηλαδή δοκίμασε λοιπόν να κλικάρεις μία γραμμή ενός πίνακα(θα αλλάξει χρώμα) και μετά πάτα το connect.Θα δεις ότι δουλεύει! τι πρέπει να αλλάξεις > ...... int i = certificateTable.getSelectedRow(); if (i<0) { System.out.println("choose a row first");//εσύ βάλε joptionpane return ; } ........ Εχεις δίκιο ρε φίλε.. δεν υπάρχει πρόβλημα στον κώδικα.. πω επιτέλους.. να είσαι καλα ολα τρέχουν τώρα!
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.