2010-02-08 91 views
1

我有一个表格显示对象列表;为清楚起见,我们称它们为EmployeeSwing:带标题行的表格

下表显示Employee作为给定父对象的子对象的对象,它也是Employee。我想要做的是用父对象显示一个特殊的标题行,或者在上面(如果可能),或者在普通列标题下面,但以不同的颜色显示。我希望父对象行的列与表的其余部分同步调整大小,并且我不希望父对象是可选的。

(基本上我想显示的子对象的自包​​含的表,与具有相同的字段单独父“上下文”一起)。

有没有做到这一点的好办法? (一个表中有一个特殊的行?两个表,其中父上下文对象只有一行垂直,并且水平调整大小以匹配另一个?)

回答

3

我认为您应该使特殊行始终呈现在在表中的第0行,使用你需要的任何渲染器来改变颜色等。这样你就可以免费调整大小。

为了使这一行无法选择,我认为你需要重写createDefautSelectionModel方法来自己实现ListSelectionModel。您可以覆盖DefaultListSelectionModel以忽略setAnchorSelectionIndex方法和setLeadSelectionIndex方法中的值0(第一行)。

应该可以工作,但还没有测试过。

+0

谢谢,我放弃了非选择,但否则它的作品。 (我一直在使用GlazedLists,最后发现CompositeList允许你按顺序合并两个列表,所以我创建了一个包含我的“特殊”行的第一个列表的CompositeList。 – 2010-02-08 20:57:07

+0

我已经看到很多关于GlazedLists的好东西 - 我必须检查一下,很高兴你有一切工作 – I82Much 2010-02-09 16:34:05