Προς το περιεχόμενο

JTable


elis88

Προτεινόμενες αναρτήσεις

Δημοσ.

Προσπαθώ να βάλω στο πρόγραμμα το οποίο φτιάχνω ένα 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);
   }

Δημοσ.

Νομιζω εδω

String[][] x = new String[istoriko.size()][4];

πρεπει να το κανεις String[][] x = new String[istoriko.size()][5];

για να πας μεχρι y==4

Δημοσ.

Το δοκίμασα, αλλά δεν έφταιγε αυτό . Πάλι συνεχίζεται το πρόβλημα. Ευχαριστώ πάντος.

Δημοσ.

απο το exception που σου βγαζει θα υπολογισω οτι καπου προσπαθεις να βαλεις ενα αντικειμενο τυπου ιστορικο να ειναι ισο με ενα στρινγκ. αν θες δωσε μας ολο το προγραμμα και ισως μπορεσουμε να βοηθησουμε καλητερα..

Δημοσ.

έβαλα τα σημεία στα οποίο πιστεύω ότι είναι το λάθος γιατι το πρόγραμμα είναι αρκετά μεγάλο για να το βάλω εδω...

Δημοσ.

αν πραγματι ειναι προβλημα με casting τοτε θα πρεπει να ξερουμε τον τυπο ολων των μεταβλητων που εχεις στην προβληματικη μεθοδο πχ τι ειναι το istoriko.get(i).getSkor2()

Δημοσ.
>
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;
   }
  
}

Δημοσ.
οπου εχεις x[y]= istoriko.get(i).getSkor2()+""; δοκιμασε να βαλεις x[y]= " + istoriko.get(i).getSkor2() + ""; και λογικα δε θα εχεις cast exceptions

 

Μπα το ίδιο... το πρόβλημα συνεχίζεται. Το περίεργο είναι ότι έχω φτιάξει άλλο ένα JTable με παρόμοιο τρόπο και παίζει ρολόι. Αυτό δεν ξέρω γιατι δεν παιζει...

Δημοσ.

βασικα εκανα ενα τυπογραφικο λαθος.. το εγραψα με ενα " αντι με 2 ""

 

x[y]= "" + istoriko.get(i).getSkor2() + ""

 

αν δεν δουλεψει ουτε ετσι το μονο που μπορω να σου πω ειναι να το ανεβασεις στο νετ για να το κατεβασουμε και να το δουμε ολοκληρο..

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...