Solved

JTable: Update Value

Posted on 2006-10-23
9
231 Views
Last Modified: 2010-03-31
Hello:
I have created JTree using Arraylist. So Left side is JTree and when I pick the node it display its content to right side in JTable.  In the Table there are 5 colunms. 2 columns are JComboBox.
I have created JTable like this:
model = new DefaultTableModel(data, columns);
table = new JTable(model)
{

      public void setValueAt(Object value, int row, int col)
      {
            data[row][col] = value;
      }
};


// I add new Row like this
if(e.getSource() == AddNewRow)
{
  // add to array list  
  model.addRow(data);
}

Everything is working fine but the only problem is  The value that I change does not update right away.
When I select another node and go back to the previous node I see all the value that I have changed.

Can you please show me how to make this thing work?

Thanks
0
Comment
Question by:T_Shah
  • 4
  • 3
9 Comments
 
LVL 14

Expert Comment

by:hoomanv
ID: 17790103
You dont need to override the setValueAt method
0
 
LVL 14

Expert Comment

by:hoomanv
ID: 17790210
The original setValueAt invokes fireTableCellUpdated to notify the JTable of changes

public void setValueAt(Object value, int row, int col) {
      rowData[row][col] = value;
      fireTableCellUpdated(row, col);
}
0
 

Author Comment

by:T_Shah
ID: 17790481
You are right about that.
It was working fine but since Add tried to add new rows it is not working
0
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 

Author Comment

by:T_Shah
ID: 17790705
Is it possible because of size of data.
Initially I have size of data as follow

data = new String[arraylist.size()][5];

now I added new row I add like this:

if(e.getSource() == AddNewRow)
{
  // add values to array list  
  model.addRow(data);
}

Becaue I am having this problem since I am trying to add new Row...

Any suggesstion!!!!
0
 
LVL 14

Expert Comment

by:hoomanv
ID: 17790755
DefaultTableModel is not restricted to row or column count
There is somthing else working wrong in your code
0
 

Author Comment

by:T_Shah
ID: 17791039
Thanks for the advise.
I am doing this way
model = new DefaultTableModel(data, columns);
table = new JTable(model)

It does not work

But If I do this
table = new JTable(data, columns)

It let me change value and works fine but the important thing is I can not add/remove row
0
 
LVL 14

Accepted Solution

by:
hoomanv earned 75 total points
ID: 17794036
> I can not add/remove row
You can, thru the DefaultTableModel
Call model.addRow()
And it will invoke fireTableRowsInserted() internally
0

Featured Post

Best Practices: Disaster Recovery Testing

Besides backup, any IT division should have a disaster recovery plan. You will find a few tips below relating to the development of such a plan and to what issues one should pay special attention in the course of backup planning.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
eclipse shortcuts 9 55
netstat -ano | find "8000" and taskkill /f /pid 2984 3 57
Should localization be done inside spring controller 5 27
String array comparison 4 34
For customizing the look of your lightweight component and making it look opaque like it was made of plastic.  This tip assumes your component to be of rectangular shape and completely opaque.   (CODE)
Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.

803 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question