File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Swing / AWT / SWT and the fly likes combobox rendered in a Jtable Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "combobox rendered in a Jtable " Watch "combobox rendered in a Jtable " New topic

combobox rendered in a Jtable

Rashmi Hegde

Joined: Jan 08, 2003
Posts: 9
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

class MyComboRenderer extends CustomTableCellRenderer{

public MyComboRenderer(JComboBox aRenderingComponent) {

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

class MyComboEditor extends CustomTableCellEditor implements ActionListener {

public MyComboEditor(JComboBox aRenderingComponent){

/* (non-Javadoc)
* @see
public void setValue(Object aValue) {
// System.out.println(" -----------cell EDITOR-- avalue--------");

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

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
public void actionPerformed(ActionEvent e) {
// System.out.println(" Action performed ---------------Source is "+e.getSource());

Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15302


Welcome to Javaranch! We don't have too many rules around here but we do have a Naming Policy. Please read and adjust your display name accordingly.


GenRocket - Experts at Building Test Data
I agree. Here's the link:
subject: combobox rendered in a Jtable
It's not a secret anymore!