Swing中的组件都有对应的选择模型(SelectionModel)和一些对应的方法(形如:add/remove SelectionChangedListener)来监听组件选择的变化, 如JTree中有TreeSelectionModel和addTreeSelectionListener /removeTreeSelectionListener.
JavaFx也有同样的选择模型,可以通过改模型来监听选择的变化.下面是两个监听选择变化的示例(以TreeView为例, 其它组件(List Table等)同样可以使用这些方法):
方法一:
tree.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() {
//tree.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener() {
@Override
public void changed(ObservableValue observable,Object oldValue, Object newValue) {
system.out.println("selection change");
}
});
方法二:
也通过监听javafx组件的FocusModel(焦点模型)来获取组件选择的变化的通知.
下面是一个示例:
treegetFocusModel().focusedItemProperty().addListener(new ChangeListener<TreeItem>() {
@Override
public void changed(
ObservableValue<? extends TreeItem> observable,
TreeItem oldValue, TreeItem newValue) {
system.out.println("tree selection changed");
}
});
分享到:
相关推荐
`TableView`是JavaFX中的一个视图类,它允许开发者创建具有可编辑或只读行和列的数据表。在实际开发中,`TableView`常用于显示大量结构化的数据,并且可以进行排序、过滤和分页等操作。 1. **创建TableView** 创建...
3. **用户交互**:监听棋盘上的点击事件,当用户选择棋子并移动到目标位置时,检查该移动是否符合国际象棋的规则。 4. **游戏逻辑**:实现游戏规则,包括合法移动判断、吃子操作、将军、应将、和棋条件等。 5. **...
2. 事件处理:JMF使用Java的事件模型,通过`ControllerListener`和`ControllerEvent`来监听和响应播放状态的变化。 3. 时间和同步:`TimeBase`接口提供了一种机制来处理时间相关的操作,确保多媒体数据的精确同步。 ...
在Java中,实现MVC可以使用各种库和技术,如Swing或JavaFX进行图形用户界面的构建,使用Servlet或Spring MVC处理Web请求,或者使用Java的事件监听机制来连接视图和控制器。这个项目中的文件管理器可能利用了Swing库...
在这个基于Java实现的v2.0版本中,我们可以深入学习和理解这些知识点。 首先,Java是世界上最流行的编程语言之一,尤其在企业级应用开发中占据主导地位。其跨平台的特性使得代码可以在任何支持Java的系统上运行,极...
5. **开源许可**:作为开源项目,ZToastDemo遵循特定的开源许可协议,如MIT、Apache 2.0等,开发者在使用和修改代码时需要了解并遵守这些协议。 6. **版本控制**:使用Git进行版本控制,意味着项目有版本历史记录,...
现代的Java开发者可能会选择使用更加先进和全面的库,如JavaFX或JMF的替代品如VLCJ,这些库提供了更广泛的格式支持和更好的性能。 总结来说,JMF是一个用于开发多媒体应用的Java框架,它的API提供了一套接口和类来...
- JTextArea用于显示和编辑文本,需要监听文本内容的变化,可能需要用到DocumentListener接口来实现文本的实时更新和保存。 6. **查找与替换**: - 文本编辑器通常提供查找和替换功能,这需要对文本进行搜索和...
6. **事件监听**:可以通过实现 `ControllerListener` 接口并添加到 Player 上,来监听播放状态的变化,例如开始、停止、错误等。 7. **释放资源**:在播放结束或不再需要时,应调用 `player.stop()` 和 `player....
6. **版本控制**: 开源项目通常使用版本控制系统如Git进行代码管理,通过分支、合并和提交来跟踪项目的变化。 7. **构建工具**: Maven或Gradle可能是该项目的构建工具,用于自动化构建、依赖管理和打包过程。 8. *...
2. 控件绑定:JavaFX允许将数据模型与UI控件绑定,使得UI自动反映模型的变化,提高用户体验。 3. 事件处理:编写事件处理器,监听用户交互,如点击按钮触发歌曲搜索或播放。 四、异常处理 在与外部服务交互或处理...