I am guessing that my table model (which is defined in class A) might be causing part of the issue, but I am not certain. Unless someone is listening to this event it does nothing.
The JTable would automatically update your display if you change the underlying table model.
If there are hundreds of rows and I update couple cells within around 10 rows, and I create a save button to apply all the changes to My SQL's table. It will include so many UPDATE statement for every row I changed, how do I detect any change I made in cells efficiently and save all the change back to the DB at once. Sean The short answer is: your Table Model should be implemented so that its set Value At() method updates the database. If you find that's too slow, because you're updating 8,000 rows when only 3 have been changed, then you could make set Value At() set a flag to indicate that a row has been changed.
However if it were me, I wouldn't have the "Save" button.
That's why trying to get the table object on the 2nd row gives an exception. Should I have 2 different functions to create the table for each tab? No, you should just use two different Search Table Model instances; one for each JTable. List; public class Search Table Model extends Default Table Model I've tried absolutely nearly eveything to sort out the above problem. I print out by using the get Field X function before I change them and they are print out exactly what is there. I can get the "fire" to update the JTable when I issue the "fire" from class A, but it does not update the JTable when I initiate the "fire" from class B. I do not understand on what object are you calling fire Table Rows Inserted in class B? I am issuing a Fire Table Rows Inserted from class B to update the JTable contained in class A. Are both A and B implementing Table Model Listener?I'v tried it, you dont need no fire Table Rows Updated call, if you are updating the values in the model. Table Model tm = Model(); Value At("xxx", x, y); /// this will already make the view repaint the values Or do we really need to call fire Table Rows Updated? If you use your own table model extending from Abstract Table Model you should use those calls inside your table model (e.g. it is 1 at this point in the main search page that I use to get the selected Row List Selection Model row SM = Selection Model(); Then Selected Row() should be 1 inside the update window code too.in the set Value() function) If you use your own table model extending from Default Table Model it is done by using e.g. Yes, but for some reason it's -1 and I did a message box for both and they were different. Update Book(JComponent comp, String user, Connection con, String book Id, JTable table, int selected Row) I use the book Id to bring up all the book details and then I can change them.