error:java.lang.ArrayIndexOutOfBoundsException:0> = 0

时间:2017-04-25 15:20:38

标签: java swing jtable

我有两个表,我需要将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 });
            }
         });

1 个答案:

答案 0 :(得分:1)

仍在等待Minimal, Complete, and Verifiable Example(MCVE)。是什么让您认为问题出在您发布的代码中?在问题解决之前,每个问题都应该有一个简单的例子来证明问题证明你试图简化问题以便更好地调试它。

发布错误消息而不指示导致问题的代码行有什么意义?再次发布MCVE的另一个原因。在问题得到解答之前,您不知道解决问题需要哪些信息。

如果没有所有信息,我们可以做的就是猜测。

作为论坛的新手,你会得到一个猜测。未来的问题需要MCVE

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

因此应该使用类似的代码创建模型:

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