我在.fxml文件中创建TreeView,然后我尝试显示根节点.但它没有显示出来.
这是我的代码.
我也在主要类中给出了这个参考.
public class Mainextends Application { @FXML public TreeViewsoariteTree; @FXML public TreeItem rootTreeItem;
请给我任何参考或提示.
你用fxml做了一个小错误,
你可以看到你写的AnchorPane.rightAnchor="167.0"
是你的树视图消失了(同样的小错误,锚窗格和树视图的宽度).
用,替换你的滚动窗格,
<ScrollPane fx:id="soariteTreeScrollPane" pref pref AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> <content> <AnchorPane id="Content" fx:id="soariteTreeAnchorPane" min min pref pref> <children> <TreeView fx:id="soariteTree" pref pref showRoot="true" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> <TreeItem expanded="true" value="categories" fx:id="rootTreeItem" /> </TreeView> </children> </AnchorPane> </content> </ScrollPane>
更新: - 处理鼠标事件
soariteTree.addEventHandler(MouseEvent.MOUSE_PRESSED, new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent event) { if (event.getButton().equals(MouseButton.SECONDARY)) { System.out.println(">> " + event.getEventType()); } } });