我正在尝试使用SwingBuilder显示Groovy对象的层次结构。我花了很多时间使用Google在此示例或某些示例上找到了一些合理的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树命令中必须有某些选项才能擦除这些数据-我找不到它。...
我的最终目标是: -我具有常规对象的层次结构,每个对象中都有多个元素 -基于这些对象中的数据,我想创建TreeModel(元素将是叶节点) -我希望能够修改叶节点的数据/值 -最后,我想更新TreeModel,然后再更新对象中的数据
您是否知道一些有关Groovy的示例?我已经找到了几个示例代码,它们比Groovy更多Java ...