• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Jeanne Boyarsky
  • Ron McLeod
Sheriffs:
  • Paul Clapham
  • Liutauras Vilda
  • Devaka Cooray
Saloon Keepers:
  • Tim Holloway
  • Roland Mueller
Bartenders:

problem in colors of cells JTable

 
Ranch Hand
Posts: 79
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi.
My Problem is.
I have a JTable with 2 columns ( Rows can be 1-10 depending upon the size of
input vector)
I have provided two button in my Frame
1)Update Row
2) Update whole Table.
Now i want I want that if a user makes a change in any cell say cell( row
3,Col 1) ;and moves to next row , then the color (background/foreground) of
that cell should change to any other color .Again if he presses any of the
button then the default color of the cell should be restored.Basically i
want to indicate the user that he has made changes in the cell and he needs
to press the button for updation
Now i have wriiten code as
protected JTable rationalDescTable = new JTable(myModel) { public TableCellEditor getCellEditor(int row, int col) { if (edited)//boolean checks is someone has edited the cell or not { return new DefaultCellEditor(new JTextField()) { public Component getTableCellEditorComponent(JTable table,Object value,boolean isSelected,int row,int column) { super.getTableCellEditorComponent(table, value, isSelected,row, column);JTextField textField = (JTextField)super.getTableCellEditorComponent(table, value, isSelected, row, column); rationalDescTable.changeSelection(row,column,false,false);textField.setBackground(Color.red);textField.getCaret().setSelectionVisible(true);textField.setFont(new Font("SansSerif",Font.ITALIC,12));textField.setSelectionColor(Color.red); // Option return textField;} }; } else { return new DefaultCellEditor(new JTextField()) { public Component getTableCellEditorComponent(JTable table,Object value,boolean isSelected,int row,int column) { super.getTableCellEditorComponent(table, value, isSelected,row, column);JTextField textField = (JTextField)super.getTableCellEditorComponent(table, value, isSelected, row, column); rationalDescTable.changeSelection(row,column,false,false);textField.setBackground(Color.blue);textField.setForeground(Color.white);//textField.selectAll();//textField.setFont(new Font("SansSerif",Font.ITALIC,12));textField.getCaret().setSelectionVisible(true);textField.setSelectionColor(Color.blue);return textField; } }; } }

but the problem is that when i click the button the backgrounnd of cell is not changed from red to blue.In the action listener events of button i have made edited as false.
Regards
Md Aminur Rashid
Pune
 
Space pants. Tiny ad:
Smokeless wood heat with a rocket mass heater
https://woodheat.net
reply
    Bookmark Topic Watch Topic
  • New Topic