java - Changing only 1 JTable column renderer from default -


hello have following situation, want set columns in jtable specific renderer (centered) , want right column have background color yellow. i've tried following code:

public class lview extends jinternalframe {  private static final long serialversionuid = -4248667075312220111l; private lmodel model; private jpanel mainpanel; private jbutton btnrefresh;  private jtable ltable; private defaulttablemodel ltablemodel;  private string [] columnnames = {"col1", "col2", "col3", "col4", "col5"};   public lview() {     super("l title", true, true, true, true);     setsize(650,300);      mainpanel = new jpanel(new flowlayout());     jpanel toppanel = new jpanel();      btnrefresh = new jbutton("refresh");     btnrefresh.addactionlistener(new actionlistener() {         @override         public void actionperformed(actionevent arg0) {             try { model.refresh(); }             catch (exception e) { model.logexception(e); }         }     });      toppanel.add(btnrefresh);      ltablemodel = new defaulttablemodel() {         private static final long serialversionuid = 2130745775009581358l;          @override         public boolean iscelleditable(int row, int col) {              return false;          }     };      (string col : columnnames)         ltablemodel.addcolumn(col);      ltable = new jtable();      defaulttablecellrenderer centerrenderer = new defaulttablecellrenderer();     centerrenderer.sethorizontalalignment( swingconstants.center );     ltable.setdefaultrenderer(object.class, centerrenderer);      defaulttablecellrenderer estcolumnrenderer = new defaulttablecellrenderer();     estcolumnrenderer.setbackground(java.awt.color.yellow);     estcolumnrenderer.setfont(new font(null, font.bold, 12));     estcolumnrenderer.sethorizontalalignment( swingconstants.center );      ltable.setmodel(ltablemodel);     ltable.getcolumnmodel().getcolumn(columnnames.length-1).setcellrenderer(estcolumnrenderer);       ltable.setselectionmode(listselectionmodel.single_selection);     ltable.setautoresizemode(jtable.auto_resize_all_columns);     ltable.getcolumn(columnnames[0]).setpreferredwidth(225);      jscrollpane scrollpane = new jscrollpane(ltable);      jpanel tablepanel = new jpanel();     tablepanel.add(scrollpane);      mainpanel.add(toppanel);     mainpanel.add(tablepanel);     add(mainpanel); }  public lmodel getmodel() {     return model; }  public void setmodel(lmodel model) {     this.model = model;  }  public void adddata(list<object []> datalist) throws exception {      ltablemodel.getdatavector().removeallelements();     ltablemodel.firetabledatachanged();      (object [] data : datalist) {          lmetablemodel.addrow(new object[] {data[0],                                          data[1],                                         data[2],                                         data[3],                                         data[4]});     }      ltable.setpreferredscrollableviewportsize(ltable.getpreferredsize());     ltable.setfillsviewportheight(true);     ltable.setautoresizemode(jtable.auto_resize_all_columns);      ltablemodel.firetablestructurechanged(); }    

}

it sets columns top "centerrenderer" last column not altered in way. missing something? -

edit: full code


Comments

Popular posts from this blog

Java 3D LWJGL collision -

spring - SubProtocolWebSocketHandler - No handlers -

methods - python can't use function in submodule -