繁体   English   中英

在Java Swing中使用JTable可视化Set <T>

[英]Visualizing a Set<T> with JTable in Java Swing

我想想象一组线程,例如: Set<ThreadInfo> 我选择Set ,因为JVM中的每个线程都是唯一的。 在Java Swing中选择使用JTable组件显示它我遇到了一些问题。

我需要实现一个TableModel。 TableModel依赖于getValueAt(int row, int col)setValueAt(Object o, int row, int col)以传播更改的值。

但是如何使用Set作为数据模型来实现这些方法? 使用列表我会说row = list index,但是有一个集合我不能对元素顺序做出假设。

我会坚持使用List,因为可靠的排序对于表的支持非常重要。 如果失败了,你可以使用一个有序的集合,比如TreeSet

确定您希望如何排序线程,并在正确排序的列表中创建该集的副本。 将该列表用于模型。 当集合更改时,使用新排序的数据刷新列表。

Set不提供通过索引获取Object的方法。

您应该使用List来执行您想要的操作。

或迭代元素,直到索引通过参数传递到'int行'(避免此解决方案)。

表本身就是显示列表,底层数据模型通常是Vector of Vector或Object [] []数组。 所以在这种情况下,你需要将你的Set转换为List(所以你需要两个保持同步的数据结构),你需要合理的随机访问 - 一个小的Set可以很好地迭代并找到东西,但任何东西由于JTable在某些情况下会经常提出问题,因此重要规模将成为一个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM