Win a copy of Svelte and Sapper in Action this week in the JavaScript forum!
  • 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 all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Bear Bibeault
  • Junilu Lacar
Sheriffs:
  • Jeanne Boyarsky
  • Tim Cooke
  • Henry Wong
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • salvin francis
  • Frits Walraven
Bartenders:
  • Scott Selikoff
  • Piet Souris
  • Carey Brown

problem in colors of cells JTable

 
Ranch Hand
Posts: 79
  • Mark post as helpful
  • send pies
  • 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
 
    Bookmark Topic Watch Topic
  • New Topic