问题标签 [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.
java - 带有复杂编辑器的 JTable
我有许多 JTable 的自定义编辑器,可以轻描淡写地说缺乏可用性,尤其是在使用键盘进行编辑方面。
造成这种情况的主要原因是我的编辑器总是在与此类似(尽管通常更复杂)的情况下创建:
IE 一个面板,里面有多个组件。实际的文本编辑器是作为编辑器返回的组件的后代。因此,除了渲染问题,据我所知,JTable 正在关注该getTableCellEditorComponent
方法返回的组件,因此当您按下一个突出显示单元格的键时,它会将焦点和按键传递给面板,认为这是编辑器。
无论如何我可以告诉JTable“真正的”编辑器是JTextfield吗?在正确的组件上添加 hackyrequestFocusInWindow
是不够的,因为按键不会被传递。
java - Java 1.5 中的 JTable 对行进行排序
是否有一种简单的方法可以使用 Java 1.5(setAutoCreateRowSorter
并且TableRowSorter
似乎是 Java 1.6 功能)对 JTable 中的行进行排序?
java - Swing GUI:当 JTable 变大时滚动不更新
我有一个 Java Swing GUI,但JTable
在JScrollPane
. 由于某种原因,在程序执行期间增加表格模型的行时,JScrollPane
不会更新 - 也就是说,如果增加行以使表格的高度超过滚动视图的高度,则滚动窗格未按预期更新。(新行按预期显示在屏幕上)。如果调整窗口大小,滚动会按预期更新。
垂直滚动策略是VERTICAL_SCROLLBAR_AS_NEEDED
,表模型fireTableDataChanged
被称为..
不幸的是,代码有点复杂,所以我无法提供导致问题的代码示例。但是想问一下是否有人有一些想法。
编辑:仍然有点混乱:水平滚动策略是HORIZONTAL_SCROLLBAR_AS_NEEDED
,如果表格宽度超过视图宽度(即使用水平滚动条),则不会发生此问题...
EDIT2:问题不在于应该滚动表格,而是滚动条没有按应有的方式激活。
java - 在 JTable 单元格中显示时间计数器的有效方法
时间计数器以秒为单位显示表中一行的年龄。理想情况下,它将每秒更新一次。我知道我可以在表模型中增加适当的数据,触发事件(每行一个)等。这似乎有点矫枉过正!有没有更好、更轻便的方法?
jtable - 在 JTable 中显示对象的 ArrayList 内容的最简单方法是什么?
我有一个 Track 对象的 ArrayList。每个 Track 对象都有以下字段(所有字符串):
url、标题、创作者、专辑、流派、作曲家
我想在 JTable 中显示这些轨道,每一行都是一个 Track 对象的实例,每一列包含一个 Track 对象的属性。
如何使用 JTable 显示这些数据?我使用了一个正确实现 getValueAt() 方法的 AbstractTableModel。不过,我在屏幕上看不到任何东西。
还是只使用数组更容易?
jtable - JTable中的单元格编辑
我正在使用 JTable 做一个项目,我想让我的表格单元格可编辑。我用了,
我的问题是,单元格是可编辑的,但是一旦在一个单元格中输入数据并移动到下一个单元格后,以前的数据就会被删除......请任何人帮助我......
java - 使用向量编辑 JTable
我正在做一个迷你项目JTable
.
我将Vector
类型用于行值。例如,public Vector textData = new Vector();
。问题是当我编辑 中的单元格时JTable
,它是可编辑的,但不保留更改后的值。也就是说,当我在 1 个单元格中输入数据并移动到下一个单元格时,之前的数据不会更新。
声明为时是否可以编辑单元格Vector
?
java - 如何在 JTable 中拖放一行?
如何设置 JTable 以便能够将行拖动到表中的不同索引。例如,如果我有 5 行并且我想将第 4 行拖到第 2 位?
java - 更改 JTable 上的 Ctrl + 单击行为
当按下键盘按钮(即 CTRL 按钮)并选择一行时,是否有一种简单的方法来操作 JTable 上的控件以提供不同的功能?我被要求创建一个表格,其中一行上的 CTRL + 单击(鼠标单击)只会取消选择选定的行,而不会选择一行。如果用户 CTRL + 单击未选择的行,则不会发生任何事情。
我已经能够创建一个表,并禁用诸如 CTRL + A (全选)之类的功能,并且我已经能够检查在生成 MouseEvent 时是否按下了控制按钮,但我似乎无法弄清楚了解如何调整 CTRL + 单击。这是一些代码:
在 mousePressed 方法中,我尝试从表中获取所有选定的行,然后检查新单击的行是否在 selectedRows 中......但是,我不确定是否有办法查看哪一行与 MouseEvent 相关联。
(另外,我知道这样的预期行为不应该玩太多,但它是为了复制公司中的遗留系统)
任何想法/建议将不胜感激!
java - 在 JTable 行中检测对象的策略?
事情是这样的:一个由 JTableModel 支持的可排序 JTable,它带有一组填充行的对象(一个对象 = 一行)。需要删除行。
不排序,删除对象很简单:获取选中的行索引,删除同一索引下的数组对象。但是,通过排序,行索引在某种意义上会变得混乱,因为它们不再匹配支持数组对象的索引。克服这个问题的正确方法是什么?