• 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
  • Liutauras Vilda
  • Ron McLeod
Sheriffs:
  • Jeanne Boyarsky
  • Devaka Cooray
  • Paul Clapham
Saloon Keepers:
  • Scott Selikoff
  • Tim Holloway
  • Piet Souris
  • Mikalai Zaikin
  • Frits Walraven
Bartenders:
  • Stephan van Hulst
  • Carey Brown

small swings problem

 
Greenhorn
Posts: 9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi everybody,


I have a JTable for which i have rendered one column as a JCombobox.
The Combobox appears to be fine.
The problem is when i select a value from the combobox, all the other values of the combobox also get selected the same value .
This happens for the first time only.
For eg i have 1,2,3,4 as combobox elements .
If i select value 1 on the first row all the other row values are also set to one.

Below is some part of the code for clarity.

Please help me.
Thanks in advance.

//this is how i add the jcombobox to the jtable cell.
jtable2.getColumn("VALIDITY").setCellRenderer(new MyComboRenderer(new JComboBox(new String[]{"1","2","3"})));


jtable2.getColumn("VALIDITY").setCellEditor(new MyComboEditor(new JComboBox(new String[]{"1","2","3"})));

Below is the MyComboRenderer and My ComboEditor class

//COMBOBOX RENDERER
class MyComboRenderer extends CustomTableCellRenderer{


public MyComboRenderer(JComboBox aRenderingComponent) {
super(aRenderingComponent);
}

public void setValue(Object aValue) {
((JComboBox)this.getRenderingComponent()).setSelectedItem(aValue);
}
public void setValue(Object aValue, int row) {
//System.out.println(" -----------cell REndere--------------");
((JComboBox)this.getRenderingComponent()).setSelectedItem(aValue);
}
}

////COMBOBOX EDITOR
class MyComboEditor extends CustomTableCellEditor implements ActionListener {


public MyComboEditor(JComboBox aRenderingComponent){
super(aRenderingComponent);
aRenderingComponent.addActionListener(this);
}

/* (non-Javadoc)
* @see
tp.table.CustomTableCellRenderer#setValue(java.lang.Object)
*/
public void setValue(Object aValue) {
// System.out.println(" -----------cell EDITOR-- avalue--------");
((JComboBox)this.getEditorComponent()).setSelectedItem(aValue);
}

public void setValue(Object aValue , int row) {
System.out.println(" -----------cell EDITOR----avalue, , row---------");
((JComboBox)this.getEditorComponent()).setSelectedItem(aValue);
}


public Object getCellEditorValue() {
//System.out.println(" cell editor value");

System.out.println(" Any combo value it prints------- > " + ((JComboBox)this.getEditorComponent()).getSelectedItem());
return ((JComboBox)this.getEditorComponent()).getSelectedItem();

}

/* (non-Javadoc)
* @see
java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent e) {
// System.out.println(" Action performed ---------------Source is "+e.getSource());
fireEditingStopped();
}
}
 
Politics n. Poly "many" + ticks "blood sucking insects". Tiny ad:
Gift giving made easy with the permaculture playing cards
https://coderanch.com/t/777758/Gift-giving-easy-permaculture-playing
reply
    Bookmark Topic Watch Topic
  • New Topic