java - JTable reload data -
i have following jtable in code:
string[] columnnames = {"name", "category", "seller", "sell price", "current bid", "end date", "open"}; object[][] data = getauctiontabledata(); final jtable auctiontable = new jtable(data, columnnames);
i have button on form , wish reload data table on click of button. how do this? need use abstracttablemodel?
edit
here code button:
refreshauctionbutton.addactionlistener(new actionlistener() { public void actionperformed(actionevent e) { object[][] data = getauctiontabledata(); auctiontable = new jtable(data, columnnames); }});
this code not work jtable declared final. have final because accessed inner classes (buttons, above).
it depends on want button change table.
if button triggers updates in objects within
data
, need useauctiontable.update
(or that).if triggers insertion, useful add row inserted directly
auctiontable
. use((defaulttablemodel) auctiontable.getmodel).addrow(...);
if triggers deletion, need index of row deleted. use
((defaulttablemodel) auctiontable.getmodel).removerow(...);
otherwise, i'll need more information button's action, or can make call getauctiontabledata()
each time button pressed reload whole jtable's information (something might not desirable @ all).
edit
to reload whole contents while keeping final
modifier auctiontable
, use setdatavector
method instead of re-setting table in button's action listener.
refreshauctionbutton.addactionlistener(new actionlistener() { public void actionperformed(actionevent e) { object[][] data = getauctiontabledata(); ((defaulttablemodel) auctiontable.getmodel()).setdatavector(data, columnnames); } });
you'll have set columnnames
final
well, though.
Comments
Post a Comment