当前位置: 首页 > 知识库问答 >
问题:

通过单击 jtable 列内的 jCombobox 来选择 Jtable 的行和列

储毅
2023-03-14

在我的Jtable实例中,一个列有jcombobox,现在我想要的是,一旦所选jComboBox的值被更改,就选择单元格的行和列。

如果我使用jcombobox的actionPerformed事件,并获得jtable.getSelectedrow和column。系统给我最后选择的行和列,而不是当前的行和列。

请指导我该怎么做..谢谢

private void jComboBoxActionPerformed(java.awt.event.ActionEvent evt) {                                                                  


            DefaultTableModel model = (DefaultTableModel) jTable.getModel();

            int selectedRow = jTable.getSelectedRow();
            int selectedColumn = jTable.getSelectedColumn();

            System.out.println("Row : " + selectedRow);
            System.out.println("Column : " + selectedColumn);
        } 

共有1个答案

颛孙兴旺
2023-03-14

现在我想要的是,一旦选定的jcombobox的值发生更改,就选择单元格的行和列。

不要将ActionListener添加到组合框中,这不是表编辑器的设计方式。

相反,您应该将 TableModelListener 添加到 JTableTableModel 中。每当表中的数据发生更改时,都会生成一个事件。该事件将包含已更改单元格的行/列。

有关工作示例,请查看:TableModelListener和多列验证

 类似资料:
  • 我有一个JTable对象,我会在一个列上添加5个不同的JComboBox。 我已经尽力了: 但这会将相同的JComboBox添加到该列的所有单元格中。如何在同一列中添加不同的内容? 非常感谢。

  • 问题内容: 我目前正在使用JTable来显示数据库中的内容。我想为用户提供便利,以便他可以使用Shift +箭头键选择想要的行数,然后稍后使用提供的删除选项删除那些记录。请提供一个小例子。 问题答案: 您需要允许多项选择: 然后,您需要编写适当的选择侦听器。这有点困难,请尝试在Google相关解决方案中查找。您可以看一个选择侦听器的示例。

  • 我创建了一个带有JComboBox CellEditor列的JTable。很好。然而,当我试图通过组合框检索所选值时,我只得到鼠标在特定行中选择的值。我似乎无法按每行获取所选值。这是我的代码:

  • 就像渲染器和编辑器听起来一样简单,尽管有十几个这样的书签,我还是回到类似的问题上,我缺少了一些基本的东西。我想把任何旧的文本文件拖到一个2列的JTable中,让第一列显示文件名,第二列包含一个JComboBox,它的选项取决于拖动文件的内容。(在下面的代码中,我只是伪造了几个条目。) 这一切都正常工作,直到我从一个组合框中做出一个选择--该选择不显示--只是一个组合框,正确填充但没有做出选择。我知

  • 我想要一个始终可见的和es。单击“我的代码未更新”框中的“我的代码未更新”。

  • 我想要一个有4列的jtable。一列必须是组合框。其他列是字符串。 只要找到问题:在注释语句jcb.seteditable(true)时;,如果我在comboxcell上单击一次,它就会打开这个单元格。但我不知道为什么效果更好。此外,我希望combox可编辑。 我怎么能对其他细胞有同样的行为。 再次您好,我已经更新了代码,以便使-如果我通过重写方法在单元格上单击一次,单元格可以编辑-如果我通过重写