Java jCOMBOX在一个JTable中为每行、同一列指定不同的值

Java jCOMBOX在一个JTable中为每行、同一列指定不同的值,java,swing,jtable,jcombobox,Java,Swing,Jtable,Jcombobox,我在JTable中有一个JComboBox,但是当我为JComboBox插入一个具有新值的新行时,所有行的JComboBox都具有该值。如何为第3列中的每一行的JComboBox设置不同的值?我尝试过以下代码: cc = new JComboBox(); cc.addItem(jComboBox5.getSelectedItem()+"/"+jComboBox6.getSelectedItem()+"/"+jComboBox7.getSelectedItem()+" "+jComboBox1.g

我在
JTable
中有一个
JComboBox
,但是当我为
JComboBox
插入一个具有新值的新行时,所有行的
JComboBox
都具有该值。如何为第3列中的每一行的
JComboBox
设置不同的值?我尝试过以下代码:

cc = new JComboBox();
cc.addItem(jComboBox5.getSelectedItem()+"/"+jComboBox6.getSelectedItem()+"/"+jComboBox7.getSelectedItem()+" "+jComboBox1.getSelectedItem()+"."+jComboBox2.getSelectedItem());                         
DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
renderer.setToolTipText("CLICCA PER LE DATE");
Object[][] stringa = {{jTextField1.getText(), jTextField2.getText(),jTextField3.getText()}};
model.addRow(stringa[0]);
      int n=model.getRowCount(); 
             for(int i=0; i<n;i++){
             if(i==n-1){
                //HERE HOW CAN I CHOOSE THE ROW WHERE PUT THIS JCOMBOBOX? BECAUSE WITH THIS CODE I CHANGE THE VALUES OF ALL COMBOBOXES WITH NEW VALUES
                 jTable1.getColumnModel().getColumn(3).setCellEditor(new DefaultCellEditor(cc));
              jTable1.getColumnModel().getColumn(3).setCellRenderer(renderer);}
             }
cc=newjcombobox();
cc.addItem(JCombox5.getSelectedItem()+“/”+JCombox6.getSelectedItem()+“/”+JCombox7.getSelectedItem()+“+JCombox1.getSelectedItem()+”+JCombox2.getSelectedItem());
DefaultTableCellRenderer=新建DefaultTableCellRenderer();
渲染器.setToolTipText(“每个LE日期的CLICCA”);
对象[][]stringa={{jTextField1.getText(),jTextField2.getText(),jTextField3.getText()};
model.addRow(stringa[0]);
int n=model.getRowCount();
对于(int i=0;i根据我的评论:

  • 您需要在TableCellEditor的JComboBox中设置数据,即添加到相应TableColumn中的数据
  • 您还没有告诉我们您将使用什么标准来帮助您决定如何更改组合框中显示的对象。它是基于表行号,还是基于行中保存的数据
  • 行号和数据可以通过
    getTableCellEditorComponent(JTable table,Object value,boolean isSelected,int row,int column)
    方法获得。您将返回一个JComboBox,其项目已根据您的条件填充,无论当前是什么
  • 请避免在你的问题或标题中使用全大写,因为这相当于叫喊,而且不会受到善意的对待

无需大喊大叫。但关于您的问题,详细信息在代码中。组合框及其内容将在表列的单元格编辑器中定义,您可能需要向我们展示。编辑器中组合框的内容似乎取决于行,是吗?如果是,编辑器将不得不更改保存的数据通过组合框,具体取决于行,但幸运的是,信息可以在单元格编辑器的
getTableCellEditorComponent(…)
方法中找到。您只需要使用它。"“如何为第3列中的每一行设置不同的JComboBox值?”昨天,当您发布了一个关于此主题的类似问题时回答。我编辑了这篇文章。+1个示例和。@FrancescoStranieri:您没有覆盖TableCellEditor的键方法,更改模型对编辑器没有影响。要获得更好的帮助,请考虑er创建并发布一个。