我正在尝试使用 SwingBuilder 显示 Groovy 对象的层次结构。我花了很多时间使用谷歌来找到一些关于这个或一些例子的合理 SwingBuilder 文档,但没有成功......
这是我的代码的一小部分:
def builder = new SwingBuilder()
builder.edt {
frame(id: 'frame', title: 'Tree test', extendedState: JFrame.MAXIMIZED_BOTH, layout: new BorderLayout(), show: true, defaultCloseOperation: JFrame.EXIT_ON_CLOSE) {
panel(border: BorderFactory.createTitledBorder(BorderFactory.createLoweredBevelBorder(), 'Tree Panel')) {
borderLayout()
scrollPane() {
tree(id: 'testTree', name: 'MYROOT',rootVisible: true, showsRootHandles: true)
这会产生具有以下结构的 JTree(这很奇怪,但我假设那里有一些默认测试数据):
JTree
-colors
- blue
- violet
-sports
-food
经过一番努力,我能够删除这些节点:
DefaultTreeModel model = (DefaultTreeModel) builder.testTree.getModel()
DefaultMutableTreeNode root = (DefaultMutableTreeNode) model.getRoot()
root.removeAllChildren()
model.reload()
但是我不能重命名根 JTree 节点我敢肯定,原始 SwingBuilder 树命令中必须有一些选项来擦除这些数据 - 我找不到它....
我的最终目标如下:-我有 groovy 对象的层次结构,每个对象中有几个元素-基于这些对象中的数据,我想创建 TreeModel(元素将是叶节点)-我希望能够修改叶节点的数据/值 - 最后我想更新 TreeModel 并随后更新对象中的数据
你有/知道一些真正的 Groovy 例子吗?我已经找到了几个示例代码,它们比 Groovy 更像是 Java ......