【问题标题】:DefaultTableModel not accepting Object typeDefaultTableModel 不接受对象类型
【发布时间】:2015-06-17 00:51:35
【问题描述】:


我一直在尝试将一些数据从Editable JComboBox 发送到JXTable。它的代码是这样的:

private void selectTestActionPerformed(java.awt.event.ActionEvent evt) {                                           
    JTextField editorComponent = (JTextField) testName_cb.getEditor().getEditorComponent();
    System.out.println(editorComponent.getText());
    String data = editorComponent.getText();
    Object row = data; /* String to Object casting */
    DefaultTableModel model = (DefaultTableModel) testsSelected_table.getModel();
    model.addRow(row); /* Error : Cast row to Object or Vector */
}

但是model.addRow(row); 方法的最后一行是Cast row to Object or Vector,它已经是。
作为初学者,我可能会遗漏一些概念或逻辑部分。所以想在这里发布一个问题。谁能指出我的错误?我很乐意接受任何建议。

谢谢!!!

【问题讨论】:

  • 应该是Object[]。您可以执行row = new Object[] { data }; 假设您希望该行拥有的只是一列或数据。否则,您可以使用 model.setValueAt(value, row, col) 设置单个值,如果这是您真正想要做的事情
  • 查看DefaultTableModel的API
  • 应该将哪一行显示声明为?如果我使用row = new Object[] { data };
  • @peeskillet。神圣的Java :),学习的海洋是一片汪洋。谢谢!!!。如果您想将其发布为答案,我愿意接受它

标签: java defaulttablemodel jxtable


【解决方案1】:

应该是Object[]。您可以执行Object[] row = new Object[] { data }; 假设您希望该行拥有的只是一列或数据。

否则,您可以使用 model.setValueAt(value, row, col) 设置单个值,如果您确实想要这样做的话。

有关一般参考资料,请参阅

【讨论】:

    猜你喜欢
    • 2012-11-19
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多