elis88 Δημοσ. 14 Απριλίου 2008 Δημοσ. 14 Απριλίου 2008 Προσπαθώ να βάλω στο πρόγραμμα το οποίο φτιάχνω ένα JTable. Μου βγάζει όμως το εξής run time error: Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.String cannot be cast to Istoriko Κώδικας: > public String[][] getIstorikoAsArray() { String[][] x = new String[istoriko.size()][4]; for(int i=0;i<istoriko.size();i++) { for(int y=0;y<5;y++) { if(y==0) { x[i][y]= istoriko.get(i).getGipedouxos(); } else if(y==1) { x[i][y]= istoriko.get(i).getSkor1()+""; } else if(y==2) { x[i][y]= istoriko.get(i).getFiloksenoumenos(); } else if(y==3) { x[i][y]= istoriko.get(i).getSkor2()+""; } else if(y==4) { x[i][y]= istoriko.get(i).setResult()+""; } else { } } } return x; } > public String[] iColumn() { String[] y={"Gipedouxos","score 1","Filoksenoumenos", "score 2","RESULT"}; return y; } > public void istoriko() { frame = new JFrame("istoriko"); Container content = frame.getContentPane(); String[][] data = c.getIstorikoAsArray(); String[] column = c.iColumn(); JTable table = new JTable(data, column); content.add(table.getTableHeader(), BorderLayout.PAGE_START); content.add(table); frame.pack(); frame.setVisible(true); }
Boban Δημοσ. 14 Απριλίου 2008 Δημοσ. 14 Απριλίου 2008 Νομιζω εδω String[][] x = new String[istoriko.size()][4]; πρεπει να το κανεις String[][] x = new String[istoriko.size()][5]; για να πας μεχρι y==4
elis88 Δημοσ. 14 Απριλίου 2008 Μέλος Δημοσ. 14 Απριλίου 2008 Το δοκίμασα, αλλά δεν έφταιγε αυτό . Πάλι συνεχίζεται το πρόβλημα. Ευχαριστώ πάντος.
edhunter Δημοσ. 14 Απριλίου 2008 Δημοσ. 14 Απριλίου 2008 απο το exception που σου βγαζει θα υπολογισω οτι καπου προσπαθεις να βαλεις ενα αντικειμενο τυπου ιστορικο να ειναι ισο με ενα στρινγκ. αν θες δωσε μας ολο το προγραμμα και ισως μπορεσουμε να βοηθησουμε καλητερα..
elis88 Δημοσ. 14 Απριλίου 2008 Μέλος Δημοσ. 14 Απριλίου 2008 έβαλα τα σημεία στα οποίο πιστεύω ότι είναι το λάθος γιατι το πρόγραμμα είναι αρκετά μεγάλο για να το βάλω εδω...
edhunter Δημοσ. 14 Απριλίου 2008 Δημοσ. 14 Απριλίου 2008 αν πραγματι ειναι προβλημα με casting τοτε θα πρεπει να ξερουμε τον τυπο ολων των μεταβλητων που εχεις στην προβληματικη μεθοδο πχ τι ειναι το istoriko.get(i).getSkor2()
elis88 Δημοσ. 14 Απριλίου 2008 Μέλος Δημοσ. 14 Απριλίου 2008 > public class Istoriko { String gipedouxos; String filoksenoumenos; int skor1; int skor2; String result; public Istoriko(String gipedouxos, String filoksenoumenos, int skor1, int skor2) { this.gipedouxos=gipedouxos; this.filoksenoumenos=filoksenoumenos; this.skor1=skor1; this.skor2=skor2; result=setResult(); } public void setGipedouxos(String gipedouxos) { this.gipedouxos=gipedouxos; } public void setFiloksenoumenos(String filoksenoumenos) { this.filoksenoumenos=filoksenoumenos; } public void setSkor1(int skor1) { this.skor1=skor1; } public void setSkor2(int skor2) { this.skor2=skor2; } public String setResult() { String res = null; if(skor1>skor2) { res = "1"; } else if(skor1<skor2) { res ="2"; } else { res ="X"; } return res; } public int getSkor1() { return skor1; } public int getSkor2() { return skor2; } public String getGipedouxos() { return gipedouxos; } public String getFiloksenoumenos() { return filoksenoumenos; } }
edhunter Δημοσ. 14 Απριλίου 2008 Δημοσ. 14 Απριλίου 2008 οπου εχεις x[y]= istoriko.get(i).getSkor2()+""; δοκιμασε να βαλεις x[y]= " + istoriko.get(i).getSkor2() + ""; και λογικα δε θα εχεις cast exceptions
elis88 Δημοσ. 14 Απριλίου 2008 Μέλος Δημοσ. 14 Απριλίου 2008 οπου εχεις x[y]= istoriko.get(i).getSkor2()+""; δοκιμασε να βαλεις x[y]= " + istoriko.get(i).getSkor2() + ""; και λογικα δε θα εχεις cast exceptions Μπα το ίδιο... το πρόβλημα συνεχίζεται. Το περίεργο είναι ότι έχω φτιάξει άλλο ένα JTable με παρόμοιο τρόπο και παίζει ρολόι. Αυτό δεν ξέρω γιατι δεν παιζει...
edhunter Δημοσ. 14 Απριλίου 2008 Δημοσ. 14 Απριλίου 2008 βασικα εκανα ενα τυπογραφικο λαθος.. το εγραψα με ενα " αντι με 2 "" x[y]= "" + istoriko.get(i).getSkor2() + "" αν δεν δουλεψει ουτε ετσι το μονο που μπορω να σου πω ειναι να το ανεβασεις στο νετ για να το κατεβασουμε και να το δουμε ολοκληρο..
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.