28、JavaFX 中的事件处理详解

JavaFX 中的事件处理详解

1. 径向渐变焦点移动效果

在径向渐变中,焦点移动会产生特定的效果。绿色的内圈颜色会围绕焦点出现,而外圈的中心会逐渐向定义圆的中心移动。若 focusX focusY 变量所指的点在定义圆的周长之外,焦点会隐式地移动到圆周长上最近的点。

2. 事件概述

之前讨论的变量主要用于改变节点的外观,而本节介绍的一组变量可用于检测用户与节点的交互。用户可通过鼠标或键盘与节点交互,从而触发事件并传递给该节点。

部分节点会以不同方式拦截这些事件并报告给应用程序代码。例如,点击按钮时会生成多个鼠标事件,按钮会自行处理这些事件。鼠标按下时,按钮会绘制自身,使其看起来像被按下;鼠标释放时,按钮会恢复正常状态,并调用其 action 属性指定的 JavaFX 函数(如果有的话),示例代码如下:

Button { 
    text: "Click Me" 
    action: function() { println("Button clicked") }
}

若用户让按钮获得输入焦点并按下空格键,也会有类似效果,只不过此时按钮响应的是键盘事件。这种行为是 Button 类特有的,其他节点处理键盘和鼠标事件的方式不同。

3. 鼠标事件

JavaFX 运行时通过调用用户分配给节点的八个变量对应的函数来报告鼠标事件,这些变量的具体信息如下表所示:
| Var

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值