问题标签 [jtable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
9324 浏览

带有复杂编辑器的 JTable

我有许多 JTable 的自定义编辑器,可以轻描淡写地说缺乏可用性,尤其是在使用键盘进行编辑方面。

造成这种情况的主要原因是我的编辑器总是在与此类似(尽管通常更复杂)的情况下创建:

IE 一个面板,里面有多个组件。实际的文本编辑器是作为编辑器返回的组件的后代。因此,除了渲染问题,据我所知,JTable 正在关注该getTableCellEditorComponent方法返回的组件,因此当您按下一个突出显示单元格的键时,它会将焦点和按键传递给面板,认为这是编辑器。
无论如何我可以告诉JTable“真正的”编辑器是JTextfield吗?在正确的组件上添加 hackyrequestFocusInWindow是不够的,因为按键不会被传递。

0 投票
3 回答
7317 浏览

Java 1.5 中的 JTable 对行进行排序

是否有一种简单的方法可以使用 Java 1.5(setAutoCreateRowSorter并且TableRowSorter似乎是 Java 1.6 功能)对 JTable 中的行进行排序?

0 投票
2 回答
7064 浏览

Swing GUI:当 JTable 变大时滚动不更新

我有一个 Java Swing GUI,但JTableJScrollPane. 由于某种原因,在程序执行期间增加表格模型的行时,JScrollPane不会更新 - 也就是说,如果增加行以使表格的高度超过滚动视图的高度,则滚动窗格未按预期更新。(新行按预期显示在屏幕上)。如果调整窗口大小,滚动会按预期更新。

垂直滚动策略是VERTICAL_SCROLLBAR_AS_NEEDED,表模型fireTableDataChanged被称为..

不幸的是,代码有点复杂,所以我无法提供导致问题的代码示例。但是想问一下是否有人有一些想法。

编辑:仍然有点混乱:水平滚动策略是HORIZONTAL_SCROLLBAR_AS_NEEDED,如果表格宽度超过视图宽度(即使用水平滚动条),则不会发生此问题...

EDIT2:问题不在于应该滚动表格,而是滚动条没有按应有的方式激活。

0 投票
1 回答
800 浏览

在 JTable 单元格中显示时间计数器的有效方法

时间计数器以秒为单位显示表中一行的年龄。理想情况下,它将每秒更新一次。我知道我可以在表模型中增加适当的数据,触发事件(每行一个)等。这似乎有点矫枉过正!有没有更好、更轻便的方法?

0 投票
2 回答
15219 浏览

在 JTable 中显示对象的 ArrayList 内容的最简单方法是什么?

我有一个 Track 对象的 ArrayList。每个 Track 对象都有以下字段(所有字符串):

url、标题、创作者、专辑、流派、作曲家

我想在 JTable 中显示这些轨道,每一行都是一个 Track 对象的实例,每一列包含一个 Track 对象的属性。

如何使用 JTable 显示这些数据?我使用了一个正确实现 getValueAt() 方法的 AbstractTableModel。不过,我在屏幕上看不到任何东西。

还是只使用数组更容易?

0 投票
2 回答
11456 浏览

JTable中的单元格编辑

我正在使用 JTable 做一个项目,我想让我的表格单元格可编辑。我用了,

我的问题是,单元格是可编辑的,但是一旦在一个单元格中输入数据并移动到下一个单元格后,以前的数据就会被删除......请任何人帮助我......

0 投票
2 回答
1247 浏览

使用向量编辑 JTable

我正在做一个迷你项目JTable.

我将Vector类型用于行值。例如,public Vector textData = new Vector();。问题是当我编辑 中的单元格时JTable,它是可编辑的,但不保留更改后的值。也就是说,当我在 1 个单元格中输入数据并移动到下一个单元格时,之前的数据不会更新。

声明为时是否可以编辑单元格Vector

0 投票
5 回答
38310 浏览

如何在 JTable 中拖放一行?

如何设置 JTable 以便能够将行拖动到表中的不同索引。例如,如果我有 5 行并且我想将第 4 行拖到第 2 位?

0 投票
2 回答
8396 浏览

更改 JTable 上的 Ctrl + 单击行为

当按下键盘按钮(即 CTRL 按钮)并选择一行时,是否有一种简单的方法来操作 JTable 上的控件以提供不同的功能?我被要求创建一个表格,其中一行上的 CTRL + 单击(鼠标单击)只会取消选择选定的行,而不会选择一行。如果用户 CTRL + 单击未选择的行,则不会发生任何事情。

我已经能够创建一个表,并禁用诸如 CTRL + A (全选)之类的功能,并且我已经能够检查在生成 MouseEvent 时是否按下了控制按钮,但我似乎无法弄清楚了解如何调整 CTRL + 单击。这是一些代码:

在 mousePressed 方法中,我尝试从表中获取所有选定的行,然后检查新单击的行是否在 selectedRows 中......但是,我不确定是否有办法查看哪一行与 MouseEvent 相关联。

(另外,我知道这样的预期行为不应该玩太多,但它是为了复制公司中的遗留系统)

任何想法/建议将不胜感激!

0 投票
2 回答
3016 浏览

在 JTable 行中检测对象的策略?

事情是这样的:一个由 JTableModel 支持的可排序 JTable,它带有一组填充行的对象(一个对象 = 一行)。需要删除行。

不排序,删除对象很简单:获取选中的行索引,删除同一索引下的数组对象。但是,通过排序,行索引在某种意义上会变得混乱,因为它们不再匹配支持数组对象的索引。克服这个问题的正确方法是什么?