我有两个表,我需要将table_3中特定单元格的值添加到table_4 ..但它不起作用。有什么帮助吗?

代码:

JTable table_3 = new JTable(TableModel2);
final JTable table_4 = new JTable(TableModel3);


JButton btnAdd = new JButton("add");
btnAdd.addActionListener(new ActionListener() {
  public void actionPerformed(ActionEvent e) {
    int row = table_3.getSelectedRow();
    int column = table_3.getSelectedColumn();
    Object selectedPlanet = TableModel2.getValueAt(row, column);
    int columnContainingPlanets = 0;

    for (int index = columnContainingPlanets; index < TableModel3.getRowCount();index ++){
          Object value = TableModel3.getValueAt(index, columnContainingPlanets) ;
          if (value == selectedPlanet) {
          JOptionPane.showMessageDialog(panel_10,"This item was selected ,Please select another item");
          return; }}

    TableModel3.addRow(new Object[] { selectedPlanet });
            }
         });

最佳答案

仍在等待您的Minimal, Complete, and Verifiable Example(MCVE)。是什么让您认为问题出在发布的代码中?在解决问题之前,每个问题都应有一个简单的示例来演示该问题,这证明您已尝试简化问题以更好地对其进行调试。

在不指示导致问题的代码行的情况下发布错误消息的目的是什么?再次发布MCVE的另一个原因。在回答问题之前,您不知道需要什么信息来解决问题。

没有所有信息,我们只能做猜测。

作为论坛的新手,您会猜到一个。以后的问题将需要一个MCVE

我的猜测是“ tableModel3”没有任何列,因此您不能向包含单列数据的模型添加一行。

因此,应使用类似以下代码的方式创建模型:

String[] columnNames = { "Planets" };
DefaultTableModel tableModel3 = new DefaultTableMNodel(columnNames, 0);

10-08 20:22