Pet*_*zov 6 javafx javafx-2 javafx-8
我有这个代码在远程Java类中创建新选项卡.
treeView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<TreeItem<String>>()
{
@Override
public void changed(ObservableValue<? extends TreeItem<String>> observable, TreeItem<String> oldValue, TreeItem<String> newValue)
{
System.out.println("Selected Text : " + newValue.getValue());
// Create New Tab
Tab tabdata = new Tab();
Label tabALabel = new Label("Test");
tabdata.setGraphic(tabALabel);
DataStage.addNewTab(tabdata);
}
});
Run Code Online (Sandbox Code Playgroud)
你能告诉我当我双击树节点时如何修改代码以打开新选项卡.在我的代码中,单击一次时将打开选项卡.我需要什么事件处理程序?
您可以EventHandler<MouseEvent>向TreeView.setOnMouseClicked()方法添加一个并检查其getClickCount()返回值,MouseEvent以确定它是否为双击.删除ChangeListener上面的内容并添加逻辑EventHandler.
它看起来像这样.你可能也想检查项目null.
treeView.setOnMouseClicked(new EventHandler<MouseEvent>()
{
@Override
public void handle(MouseEvent mouseEvent)
{
if(mouseEvent.getClickCount() == 2)
{
TreeItem<String> item = treeView.getSelectionModel().getSelectedItem();
System.out.println("Selected Text : " + item.getValue());
// Create New Tab
Tab tabdata = new Tab();
Label tabALabel = new Label("Test");
tabdata.setGraphic(tabALabel);
DataStage.addNewTab(tabdata);
}
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14030 次 |
| 最近记录: |