Kri*_*hna 12 listview javafx mouseevent
我在ListView中有一个链接列表.我想将mouseEventListener添加到列表的每个单元格,以便每当用户双击列表项时链接被打开.我可以编写自己打开链接的功能,但是我无法在列表中的每个单元格中添加doubleclick事件.请帮忙...
Ita*_*iha 26
让我们将您ListView视为playList.现在,您可以使用每个单元格上的双击功能实现鼠标侦听器
playList.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent click) {
if (click.getClickCount() == 2) {
//Use ListView's getSelected Item
currentItemSelected = playList.getSelectionModel()
.getSelectedItem();
//use this to do whatever you want to. Open Link etc.
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 7
我不得不解决同样的问题,我的ListView包含一个网格窗格和带有标签的文本,因此您必须将'instanceof'和'or'的另一面更改为您所拥有的。
(假设您的ListView名为listView):
listView.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
if(event.getButton() == MouseButton.PRIMARY && event.getClickCount() == 2 &&
(event.getTarget() instanceof LabeledText || ((GridPane) event.getTarget()).getChildren().size() > 0)) {
//your code here
}
}
});
Run Code Online (Sandbox Code Playgroud)
如果用户单击该项目的最边缘和ListView的边框附近,则可能无法通过if循环,但听起来用户在您的情况下不会这样做。
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
20484 次 |
| 最近记录: |