swing - Java - Custom JTabel show weird text -


i making application show data. won't. show weird string, said jeremy.itemsdata@33f1ca93 , table cell show jeremy.itemsdata@427a9389. here code. got code somewhere , modify because dont want application that.

public class jtables extends jframe {     private static final long serialversionuid = 7866940189661427857l;     public jscrollpane scroll;     public jtable table;     private list<itemsdata> items;      public jtables(list<itemsdata> i)     {         items = i;         initgui();     }      private void initgui()     {         items.add(new itemsdata("justtesting", null, null, null, null, null, null));          scroll = new jscrollpane();         table = new jtable(new jtablesmodel(items));          setdefaultcloseoperation(jframe.dispose_on_close);          table.setdefaultrenderer(itemsdata.class, new jtablescell());         table.setdefaulteditor(itemsdata.class, new jtablescell());         table.setrowheight(292);          scroll.setviewportview(table);          add(scroll);         pack();     } }  public class jtablesmodel extends abstracttablemodel implements tablemodel {     private static final long serialversionuid = 3752534513457351699l;     private list<itemsdata> item;      public jtablesmodel(list<itemsdata> i)     {         this.item = i;     }      @override     public class<?> getcolumnclass(int columnindex)     {         return items.class;     }      @override     public string getcolumnname(int column)     {         return "items";     }      @override     public boolean iscelleditable(int rowindex, int columnindex)     {         return true;     }      @override     public int getcolumncount()     {         return 1;     }      @override     public int getrowcount()     {         return (item==null) ? 0 : item.size();     }      @override     public object getvalueat(int arg0, int arg1)     {         return (item==null) ? null : item.get(arg0);     }  }  public class jtablescell extends abstractcelleditor implements tablecelleditor, tablecellrenderer {      private static final long serialversionuid = -7826925896868335289l;     public jlabel data;     public jlabel icon;     public jlabel id;     public jlabel lvl;     public jlabel name;     public jlabel type;     public jpanel p;      public jtablescell()     {         initgui();     }      private void initgui()     {         p = new javax.swing.jpanel();         icon = new javax.swing.jlabel();         name = new javax.swing.jlabel();         type = new javax.swing.jlabel();         lvl = new javax.swing.jlabel();         data = new javax.swing.jlabel();         id = new javax.swing.jlabel();          name.setfont(new java.awt.font("times new roman", 0, 24)); // noi18n         name.settext("name");          type.settext("type");          lvl.setfont(new java.awt.font("times new roman", 0, 14)); // noi18n         lvl.settext("min lvl");          data.setfont(new java.awt.font("times new roman", 0, 14)); // noi18n         data.settext("data");          id.setforeground(new java.awt.color(255, 0, 51));         id.settext("hover view identification");          javax.swing.grouplayout playout = new javax.swing.grouplayout(p);         p.setlayout(playout);         playout.sethorizontalgroup(             playout.createparallelgroup(javax.swing.grouplayout.alignment.leading)             .addgroup(playout.createsequentialgroup()                 .addgroup(playout.createparallelgroup(javax.swing.grouplayout.alignment.leading)                     .addgroup(playout.createsequentialgroup()                         .addgap(35, 35, 35)                         .addcomponent(icon, javax.swing.grouplayout.preferred_size, 64, javax.swing.grouplayout.preferred_size)                         .addgap(44, 44, 44))                     .addgroup(javax.swing.grouplayout.alignment.trailing, playout.createsequentialgroup()                         .addcontainergap()                         .addcomponent(id)                         .addpreferredgap(javax.swing.layoutstyle.componentplacement.unrelated)))                 .addgroup(playout.createparallelgroup(javax.swing.grouplayout.alignment.leading)                     .addgroup(playout.createsequentialgroup()                         .addgroup(playout.createparallelgroup(javax.swing.grouplayout.alignment.leading)                             .addcomponent(type, javax.swing.grouplayout.default_size, javax.swing.grouplayout.default_size, short.max_value)                             .addcomponent(lvl, javax.swing.grouplayout.default_size, javax.swing.grouplayout.default_size, short.max_value)                             .addcomponent(data, javax.swing.grouplayout.default_size, javax.swing.grouplayout.default_size, short.max_value))                         .addcontainergap())                     .addgroup(javax.swing.grouplayout.alignment.trailing, playout.createsequentialgroup()                         .addcomponent(name, javax.swing.grouplayout.default_size, 127, short.max_value)                         .addgap(22, 22, 22))))         );         playout.setverticalgroup(             playout.createparallelgroup(javax.swing.grouplayout.alignment.leading)             .addgroup(playout.createsequentialgroup()                 .addgroup(playout.createparallelgroup(javax.swing.grouplayout.alignment.leading)                     .addgroup(playout.createsequentialgroup()                         .addcomponent(name)                         .addpreferredgap(javax.swing.layoutstyle.componentplacement.related)                         .addcomponent(type)                         .addgap(18, 18, 18)                         .addcomponent(lvl))                     .addgroup(playout.createsequentialgroup()                         .addcontainergap()                         .addcomponent(icon, javax.swing.grouplayout.preferred_size, 64, javax.swing.grouplayout.preferred_size)))                 .addpreferredgap(javax.swing.layoutstyle.componentplacement.related)                 .addgroup(playout.createparallelgroup(javax.swing.grouplayout.alignment.baseline)                     .addcomponent(data)                     .addcomponent(id)))         );     }      private void update(itemsdata id, boolean isselected, jtable t)     {         this.name.settext(id.name);     }      @override     public object getcelleditorvalue()     {         return null;     }      @override     public component gettablecellrenderercomponent(jtable table, object value, boolean isselected, boolean hasfocus, int row, int column)     {         itemsdata id = (itemsdata)value;         update(id, true, table);         return p;     }      @override     public component gettablecelleditorcomponent(jtable table, object value, boolean isselected, int row, int column)     {         itemsdata id = (itemsdata)value;         update(id, isselected, table);         return p;     }  } 

i added table cell show two. have weird text on it. can improve code can work better? thanks

here solution

@override public object getvalueat(int arg0, int arg1) {     return (item == null) ? null : item.get(arg0).name; } 

it should

item.get(arg0).name; 

instead of

item.get(arg0); // returns object itemsdata class. 

you can in way overriding tostring() method of itemsdata class in existing code item.get(arg0);

class itemsdata{      public itemsdata(string string) {         name = string;     }      public string name;      @override     public string tostring(){         return name;     } } 

Comments

Popular posts from this blog

android - Automated my builds -

how to proxy from https to http with lighttpd -

python - Flask migration error -