java - ComboBoxRenderer cannot be converted to TableCellRenderer -


i try create combo box , add in table column. use example. when try col5.setcellrenderer(cmbrender); throws:

"comboboxrenderer cannot converted tablecellrenderer".

comboxrenderer

class comboboxrenderer extends jlabel                            implements listcellrenderer {         private font uhohfont;          public comboboxrenderer() {             setopaque(true);             sethorizontalalignment(center);             setverticalalignment(center);         }         public component getlistcellrenderercomponent(                                            jlist list,                                            object value,                                            int index,                                            boolean isselected,                                            boolean cellhasfocus) {              int selectedindex = ((integer)value).intvalue();              if (isselected) {                 setbackground(list.getselectionbackground());                 setforeground(list.getselectionforeground());             } else {                 setbackground(list.getbackground());                 setforeground(list.getforeground());             }             string[] petstrings = {"bird", "cat", "dog", "rabbit", "pig"};             string pet = petstrings[selectedindex];             setuhohtext(pet + " (no image available)",             list.getfont());                        return this;         }         protected void setuhohtext(string uhohtext, font normalfont) {             if (uhohfont == null) { //lazily create font                 uhohfont = normalfont.derivefont(font.italic);             }             setfont(uhohfont);             settext(uhohtext);         }     } 

i try call this

         comboboxrenderer cmbrender = new comboboxrenderer();          tablecolumn col5 = jtable1.getcolumnmodel().getcolumn(4);          col5.setcellrenderer(cmbrender);// give me error here 

i want create in table column value assigned in petstring. please advice.

this how textbox

textrenderer2 renderer2 = new textrenderer2(); tablecolumn col5 = jtable1.getcolumnmodel().getcolumn(4); mytablecelleditor editor = new mytablecelleditor(); col5.setcelleditor(editor); col5.setcellrenderer(renderer2); col5.setpreferredwidth(100); 

textrenderer

class textrenderer2 extends jlabel implements tablecellrenderer {          @override         public component gettablecellrenderercomponent(jtable table, object value, boolean isselected, boolean hasfocus, int row, int column)          {             jpanel jp_panel = new jpanel();              jtextpane jta_text = new jtextpane();             jscrollpane jsp_scroll = null;              string valstr = value.tostring();             jta_text.settext(valstr);              jp_panel.setlayout(new borderlayout());             jsp_scroll = new jscrollpane(jta_text);             jp_panel.add(jsp_scroll, borderlayout.center);              return jp_panel;         }     } 

change implements listcellrenderer implements tablecellrenderer

class comboboxrenderer extends jcombobox implements tablecellrenderer {          public comboboxrenderer(object[] items) {         super(items);     }      private static final long serialversionuid = 1l;        @override     public component gettablecellrenderercomponent(jtable table, object value,         boolean isselected, boolean hasfocus, int row, int column) {         if (isselected) {             setforeground(table.getselectionforeground());             super.setbackground(table.getselectionbackground());         } else {             setforeground(table.getforeground());             setbackground(table.getbackground());         }         // select current value         setselecteditem(value);         return this;     }     } 

Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

css - Firefox for ubuntu renders wrong colors -