将 JComboBox 添加到 jTable,每行包含特定数据

发布于 2024-11-26 09:48:55 字数 350 浏览 0 评论 0 原文

我正在尝试将 JComboBox 添加到我的 JTable 的最后一列。 JComboBox 不是用于编辑目的,而是用于遍历 JTable 本身。每行可以有 0 个需要放入 JComboBox 中的元素,当从框中选择一个值时,我需要滚动到 JTable 中的不同行。

我所做的所有研究都专门针对编辑器和渲染器,其缺点是 JComboBox 中的数据是每列设置的,以便用户可以为行中的单元格选择一个值。我需要特定于该行的值。

所以我的问题是,以前有人尝试过这样做吗?你能给我提供一些关于如何做到这一点的好信息吗?或者您能描述一下您是如何做到这一点的吗?

I am trying to add a JComboBox to the last column of my JTable. The JComboBox isn't for editing purposes but for traversing the JTable itself. Each row can have 0-many elements that need to go in the JComboBox and when a value is selected from the box I need to scroll to a different row in the JTable.

All the research I have done points me specifically to editors and renderers with the down fall being that data in the JComboBox is set per column so that a user can select a value for the cell in the row. Where as I need values that are specific to the row.

So my question is, has anyone tried to do this before? and Can you point me to some good information on how to do this? or even better could you describe how you did this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笑咖 2024-12-03 09:48:55

1/简单示例 这里,您的工作只是将 TableCellEditor 移动(按住)到最后一行TableView

2/ 如果 JComboBox 的 Item 更改,则在 TableModel 中搜索 TableRow(如果每个 TableColumns< /code> 以 JComboBox 结尾)

3/ 然后调用 myTable.changeSelection(row, column, false, false);

4/ 实现和使用的可能错误RowSorterRowFilter,然后您必须从 TableView 获取 int row 并将其转换为 TableModel 使用

int modelRow = convertRowIndexToModel(row);

1/ simple example here, your job is only to move (hold) TableCellEditor to the last row in the TableView,

2/ if JComboBox's Item changed then search in TableModel for TableRow (if every TableColumns ends with JComboBox)

3/ then call myTable.changeSelection(row, column, false, false);

4/ possible fauls implemented and used RowSorter, RowFilter, then you have to get int row from TableView and convert that to the TableModel by using

int modelRow = convertRowIndexToModel(row);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文