使用Netbeans IDE在jTree Java上获取字符串值



我有一个家庭作业要为酒店创建多房间选择。我的想法是使用jTree,这样我就可以选择jTree的多个子对象。当我们使用jTree时,我们可以通过ctrl+click选择多个选项。我开始在Netbeans中创建项目,然后从Palette添加jTree。之后,我使用TreeModel的自定义代码,并添加如下元素:

public void generateRoom() {
    DefaultMutableTreeNode room = new DefaultMutableTreeNode("Room");
    DefaultMutableTreeNode common = new DefaultMutableTreeNode("Common");
    DefaultMutableTreeNode vip = new DefaultMutableTreeNode("VIP");
    DefaultMutableTreeNode vvip = new DefaultMutableTreeNode("VVIP");
    room.add(common);
    room.add(vip);
    room.add(vvip);
    DefaultTreeModel model = new DefaultTreeModel(room);
    jTree1.setModel(model);
}

在constructor中调用该方法后,我在jTree上添加了事件MouseClick。问题是我找不到如何通过ctrl+click获取多个子项。

谢谢你,希望有人帮我。。

我试着添加MouseInclick如下:

private void jTree1MouseClicked(java.awt.event.MouseEvent evt) {
    // TODO add your handling code here:
    if (evt.getClickCount() == 1) {
        System.out.println(jTree1.getSelectionModel().toString());
    }
}

是的,它在控制台上工作,结果如下:如果我只点击一个子项,结果是:javax.swing.tree.DefaultTreeSelectionModel 15980197[[Room,Common]@1@

如果我使用ctrl+click,它显示:javax.swing.tree.DefaultTreeSelectionModel 15980197[[Room,Common]@1@Room,VIP]@2]

现在的问题是如何获得像Common或VIP这样的字符串。。非常感谢。

可能使用

public TreePath[] getSelectionPaths()

public int[] getSelectionRows()

相关内容

  • 没有找到相关文章

最新更新