java - How to find the selected row in the JTable to remove it? -
i tried make jtable
has 1 column jbutton
removing selected row. still don't know add in buttons actionlistener
identify row , remove it.
here code:
public class javaapplication81 { jframe frame; jpanel panel; jtable table; jscrollpane tablescroll = new jscrollpane(); defaulttablemodel tablemodel; public javaapplication81(){ frame = new jframe("frame"); panel = new jpanel(); string col[] = {" ", "file", "remove"}; tablemodel = new defaulttablemodel(col,0); table = new jtable(){ private static final long serialversionuid = 1l; //returning class of each column allow different //renderes used based on class @override public class getcolumnclass(int column){ return getvalueat(0, column).getclass(); } }; table.setmodel(tablemodel); table.setpreferredscrollableviewportsize(new dimension(400,200)); tablescroll.setviewportview(table); object[] data = {"icon", "file", "remove"}; tablemodel.addrow(data); table.getcolumn("remove").setcellrenderer(new buttonrenderer()); table.getcolumn("remove").setcelleditor(new buttoneditor(new jcheckbox())); panel.add(tablescroll); frame.add(panel); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setsize(450, 200); frame.setlocationrelativeto(null); frame.setvisible(true); } public static void main(string[] args) { new javaapplication81(); } /////////////////////// public class buttonrenderer extends jbutton implements tablecellrenderer { public buttonrenderer() { setopaque(true); } public component gettablecellrenderercomponent(jtable table, object value, boolean isselected, boolean hasfocus, int row, int column) { settext("remove"); return this; } } public class buttoneditor extends defaultcelleditor { protected jbutton button; public buttoneditor(jcheckbox checkbox) { super(checkbox); button = new jbutton(); button.setopaque(true); button.addactionlistener(new actionlistener() { public void actionperformed(java.awt.event.actionevent e) { } }); } public component gettablecelleditorcomponent(jtable table, object value, boolean isselected, int row, int column) { button.settext("remove"); return button; } } }
any idea remove row of each button when pressed ?
table button column shows easy way this.
it provides renderer/editor , simple way row.