2017-06-21 52 views

回答

0

該方法是一個回調而不是偵聽器。它意味着人們對樹進行子類化。您可以使用監聽器可以手動綁定到一個節點,並替換該節點的全部功能綁定到葉...

Form current = new Form("Tree", new BorderLayout()); 

Tree t = new Tree() { 

    @Override 
    protected Component createNode(Object node, int depth) { 
     Component c = super.createNode(node, depth); 
     if(!getModel().isLeaf(node) && c instanceof Button) { 
      Button b = (Button)c; 
      b.addActionListener(e -> ToastBar.showMessage("You expanded: " + node, FontImage.MATERIAL_INFO)); 
     } 
     return c; 
    } 

}; 
current.add(CENTER, t); 
t.addLeafListener(e -> ToastBar.showMessage("You clicked: " + e.getSource(), FontImage.MATERIAL_INFO)); 

current.show();   

葉事件看起來是這樣的

Leaf event

節點擴展事件看起來像這樣

Node expansion

+0

我需要麪包棒當我點擊顏色... –

+0

爲T提出一個問題? –

+0

我需要聽衆點擊顏色節點上沒有葉子 –