JavaFX 中的事件处理详解
1. 径向渐变焦点移动效果
在径向渐变中,焦点移动会产生特定的效果。绿色的内圈颜色会围绕焦点出现,而外圈的中心会逐渐向定义圆的中心移动。若 focusX 和 focusY 变量所指的点在定义圆的周长之外,焦点会隐式地移动到圆周长上最近的点。
2. 事件概述
之前讨论的变量主要用于改变节点的外观,而本节介绍的一组变量可用于检测用户与节点的交互。用户可通过鼠标或键盘与节点交互,从而触发事件并传递给该节点。
部分节点会以不同方式拦截这些事件并报告给应用程序代码。例如,点击按钮时会生成多个鼠标事件,按钮会自行处理这些事件。鼠标按下时,按钮会绘制自身,使其看起来像被按下;鼠标释放时,按钮会恢复正常状态,并调用其 action 属性指定的 JavaFX 函数(如果有的话),示例代码如下:
Button {
text: "Click Me"
action: function() { println("Button clicked") }
}
若用户让按钮获得输入焦点并按下空格键,也会有类似效果,只不过此时按钮响应的是键盘事件。这种行为是 Button 类特有的,其他节点处理键盘和鼠标事件的方式不同。
3. 鼠标事件
JavaFX 运行时通过调用用户分配给节点的八个变量对应的函数来报告鼠标事件,这些变量的具体信息如下表所示:
| Var
超级会员免费看
订阅专栏 解锁全文
1638

被折叠的 条评论
为什么被折叠?



