Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/10/2014, 08:19
Avatar de derleguan
derleguan
 
Fecha de Ingreso: abril-2012
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: como asignar un valor a un combobox de un jtable en java

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Buenas,

Para cambiar el valor de un combo se puede usar el metodo setSelectedItem.
[url]http://docs.oracle.com/javase/7/docs/api/javax/swing/JComboBox.html#setSelectedItem(java.lang.Object[/url])


Un saludo
hola graciass por responder Profesor_Falken, pero te recuerdo que el combobox esta dentro de una estructura de un jtable, tal vez no me explique bien a lo mejor me falto poner un poco de codigo.

Código Java:
Ver original
  1. tmodel = new DefaultTableModel(){@Override
  2.         public boolean isCellEditable (int fila, int columna) {
  3.             if(columna==0 || columna==1 || columna==5 || columna==7){
  4.                 return true;
  5.             }
  6.             return false;
  7.            
  8.         }        
  9.         };
  10.            
  11.         tmodel.addColumn("id producto");
  12.         tmodel.addColumn("Nombre");
  13.         tmodel.addColumn("precio");
  14.         tmodel.addColumn("Unidad de medida");
  15.         tmodel.addColumn("Medida");
  16.         tmodel.addColumn("cantidad");
  17.         tmodel.addColumn("Subtotal");
  18.         jtListaProducto.setModel(tmodel);
  19.         //String nombreColumnaTable[] ={"idproducto","nombre","precio","medida"};
  20.         JComboBox jcbIdProducto = new JComboBox();
  21.         JComboBox jcbNombreProducto =new JComboBox();
  22.         addActionstable(jcbNombreProducto);
  23.         addActionstable(jcbIdProducto);
  24.        
  25.         TableColumn col1=jtListaProducto.getColumnModel().getColumn(0);//columna1 del jtable jproductos
  26.         TableColumn col2=jtListaProducto.getColumnModel().getColumn(1);
  27.         TableColumn col7;
  28.        
  29.        
  30.         TableCellEditor tce1= new DefaultCellEditor(jcbIdProducto);//table cell editable de la columna 1 de jtable jproductos
  31.         TableCellEditor tce2= new DefaultCellEditor(jcbNombreProducto);
  32.         //TableCellEditor tce7= new DefaultCellEditor(eliminar);
  33.         col1.setCellEditor(tce1);
  34.         DefaultComboBoxModel dcmid = new DefaultComboBoxModel();// defaultcomboxmodel del combobox idproducto
  35.         DefaultComboBoxModel dcmNombre = new DefaultComboBoxModel();
  36.        
  37.         jcbIdProducto.setModel(dcmid);
  38.         jcbNombreProducto.setModel(dcmNombre);
  39.        
  40.         for (int i = 0; i < listap.size(); i++) {
  41.             dcmid.addElement(listap.get(i).getId_producto());
  42.         }
  43.        
  44.         for (int i = 0; i < listap.size(); i++) {
  45.             dcmNombre.addElement(listap.get(i).getNombre());
  46.         }
  47.        
  48.         col1.setCellEditor(tce1);
  49.         col2.setCellEditor(tce2);
  50.        
  51.         tmodel.addRow(new Object[]{""});
  52.  
  53.  
  54. private void addActionstable(JComboBox a) {
  55.         final ItemListener changeClick;
  56.         changeClick = new ItemListener() {
  57.            
  58.             public void itemStateChanged(ItemEvent e) {
  59.                
  60.                // System.out.println(selecionado);
  61.                 if(-1!=(int)a.getSelectedIndex()){
  62. //                    JOptionPane.showMessageDialog(rootPane, jtListaProducto.getSelectedColumn() +" COLUMNA"+ jtListaProducto.getSelectedRow()+" fila");
  63.                     if(jtListaProducto.getSelectedColumn()==0){
  64. //                        JOptionPane.showMessageDialog(rootPane,jtListaProducto.getCellEditor().getCellEditorValue());
  65. //                        JOptionPane.showMessageDialog(rootPane, tmodel.getValueAt(0,0 ).toString());
  66. //                        System.out.println(selecionadoId(jtListaProducto.getCellEditor().getCellEditorValue().toString()));
  67.                         tmodel.setValueAt(listap.get(selecionadoId(jtListaProducto.getCellEditor().getCellEditorValue().toString())).getMedida(), jtListaProducto.getSelectedRow(), 3);
  68.                         tmodel.setValueAt(listap.get(selecionadoId(jtListaProducto.getCellEditor().getCellEditorValue().toString())).getPrecio(), jtListaProducto.getSelectedRow(), 2);
  69.                     }else{
  70. //                        JOptionPane.showMessageDialog(rootPane,jtListaProducto.getCellEditor().getCellEditorValue());
  71.                     }
  72.                 }
  73.             }
  74.  
  75.            
  76.  
  77.        
  78.         };
  79.         a.addItemListener(changeClick);
  80.     }


ahi un poco de codigo como donde coloco los combox en jtable pero nose como haceder a los combobox y cambiar el itemselecionadado

dado que no existe nada como

jtable.getcombobox.setselecter(index);