java - Adding and deleting from JTable -


i have jtable custom model , custom celleditor , cellrenderer , want delete , add data in table.

how do this?

my model:

public class frandtabmodule extends abstracttablemodel {   vector list;    public frandtabmodule(vector frand_list ) {     this.list = frand_list;   }       @override   public class getcolumnclass(int columnindex) { return frand.class; }     @override     public int getcolumncount() { return 1; }     @override     public string getcolumnname(int columnindex) { return " "; }     @override     public int getrowcount() { return (list == null) ? 0 : list.size(); }     @override     public object getvalueat(int rowindex, int columnindex) {         int =0 ;         system.out.println(" raw"+rowindex+"   clumn"+columnindex                 +"/n -------------------------------------------"+i++);      return (list == null) ? null : list.get(rowindex);       }         @override     public boolean iscelleditable(int columnindex, int rowindex) { return true; }       @override     public void firetablerowsdeleted(int firstrow, int lastrow) {          this.list.remove(firstrow);         this.firetabledatachanged();     } } 

my celleditor , cellrenderer:

public class renderediter extends abstractcelleditor implements tablecelleditor, tablecellrenderer {   //clientdef1 clientdef ;     frand list;    public renderediter(){    //clientdef = new clientdef1();   }    /*private void updatedata(frand feed, boolean isselected, jtable table) {     this.feed = feed;      clientdef.setconncted(feed.iscon);     clientdef.name.settext(feed.name);     if (isselected) {       clientdef.setbackground(table.getselectionbackground());     }else{       clientdef.setbackground(table.getselectionforeground());     }   }*/      @override   public component gettablecelleditorcomponent(jtable table, object value,       boolean isselected, int row, int column) {    frand frad = (frand)value;     system.err.println("-------------------------\n f1 called\n ------------------");     //updatedata(feed, true, table);       frad.def.setbackground(table.getselectionbackground());      return frad.def;   }      @override   public object getcelleditorvalue() {     return null;   }      @override   public component gettablecellrenderercomponent(jtable table, object value,       boolean isselected, boolean hasfocus, int row, int column) {     frand frad = (frand)value;    // updatedata(feed, isselected, table);      if (isselected) {       frad.def.setbackground(table.getselectionbackground());     }      else{       frad.def.setbackground(color.white);     }     return frad.def;   } } 

table creation:

contact_tab = new javax.swing.jtable(); this.module = new frandtabmodule(client.frands); contact_tab.setmodel(module); contact_tab.setdefaulteditor(frand.class, new renderediter()); contact_tab.setdefaultrenderer(frand.class, new renderediter()); contact_tab.setrowheight(45); jsp_contact.add(contact_tab); jsp_contact.repaint(); jsp_contact.revalidate(); contact_tab.setcolumnselectionallowed(true); 

what i've tried:

to add: client.frands.add(new frand ());

to delete: client.frands.remove( frand);

this working if select cell table want work dynamically.

don't override firetablerowsdeleted() or related methods in abstracttablemodel. instead, implement own methods addrow(), removerow(), etc. use defaulttablemodel guide; related example examined here.


Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

inno setup - TLabel or TNewStaticText - change .Font.Style on Focus like Cursor changes with .Cursor -