-1

我在 aJComboBoxJTable,但是当我插入带有新值的新行时JComboBox,所有行的所有JComboBoxs 都具有该值。如何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);}
             }

但是,我很抱歉大声喊叫。

4

1 回答 1

2

根据我的评论:

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