2011-06-20 47 views
1

我正在做一些作業來爲酒店創建多房間選擇。 我的想法是通過使用jTree,所以我可以選擇多個jTree的孩子。當我們使用jTree時,我們可以使用ctrl + click來選擇多個選項。我開始在Netbeans中創建項目,然後從pallete中添加jTree。在那之後,我用TreeModel的自定義代碼,並添加元素是這樣的:使用Netbeans IDE在jTree Java上獲得字符串值

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); 
} 

稱爲construcor的方法後,我增加了對JTree的事件鼠標點擊。問題是我不能找到如何從CTRL +點擊獲取多個孩子。

謝謝你,希望有人幫我..

我嘗試添加MouseOnclick這樣的:

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 [房,普通] @ 1]

如果我用ctrl +鼠標,它表明: javax.swing.tree.DefaultTreeSelectionMode升15980197 [房,普通] @ 1廳,VIP] @ 2]

現在的問題是我如何才能像普通或VIP字符串.. 謝謝。

回答

1

也許使用

public TreePath[] getSelectionPaths() 

public int[] getSelectionRows() 
+0

感謝您的線索...得到它現在的工作:d – justmyfreak