• 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
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

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
 
reply
    Bookmark Topic Watch Topic
  • New Topic