我有一个相当复杂的JTable子类(WidgetTable
及其WidgetTableModel
),当我将它添加到虚拟JPanel以进行测试时,它工作正常。Swing JTable Hack
由于我绝对是horrid与LayoutManagers一起工作时,我喜欢使用NetBeans内置GUI Builder来处理所有布局工作。然后,我通常只编写自动生成的(GUI生成器)代码,并且这一直对我有用。这是两全其美的:我的演示文稿看起来完全符合我的要求,而且我也对组件进行了细致的控制。
但是,我从来没有用过GUI Builder工具来制作表格。昨天晚上修改了一段时间后,它看起来好像只适合制作非常基本的(固定行数,固定列数等)JTables。
我的WidgetTable
实际上有一个动态数量的行和列,特殊的编辑器/渲染器和许多其他的花里胡哨的。
我的问题:
我有两个相互矛盾的约束条件:(1)我需要使用GUI生成器的位置和大小的表格正是我希望它在容器中,但;(2 )通过GUI构建器可用的表组件太基本,无法处理我的WidgetTable
。
我需要一种方法来设计一个“表占位符”到我了GUI builder的容器,这样,一旦NetBeans的自动生成了占位符码,我调整了代码,并指示它动态地实例我WidgetTables
的一个替代,消费我定义占位符组件的位置和大小。
这样我可以吃我的蛋糕,也吃了它。唯一的问题是,我认为GUI构建器不支持这种拖放抽象的功能,定位和调整它们的大小,然后将子类插入代码库中的其他地方。
有没有人有过这个问题之前或有任何有趣的建议?我想最好做的事情是让我卷起袖子学习布局管理器,但我主要是服务器端开发人员,每过一次蓝月亮就会到客户端去;说实话,没有能力去学习GroupLayout及其邪恶表兄弟的错综复杂和混乱。
感谢您的帮助!
好吧,真实世界的经验告诉我们,永远不可能吃一块蛋糕,同时保持蛋糕的准确实例。有时候,看起来我们可以浮于这个事实上,但这是一种错觉,可能是由一些肮脏的黑魔法造成的:-) – kleopatra