54、JavaFX 自定义控件开发指南

JavaFX 自定义控件开发指南

1. 自定义控件概述

创建自定义控件比构建自定义节点需要更多工作,因为要将控件功能划分为三个独立类:控件本身、皮肤和行为。

一个控件逻辑上由三部分组成:
- 实现控件功能的部分,由 Control 子类提供。
- 提供控件视觉表示的部分,即控件的皮肤。
- 处理用户与控件交互的部分,称为行为。

这三部分与 MVC(模型 - 视图 - 控制器)模式对应:
| 控件部分 | MVC 角色 | 说明 |
| ---- | ---- | ---- |
| 控件本身 | 模型 | 包含变量指定控件操作和显示数据,提供回调函数挂钩,有 layoutX layoutY disable 等常用变量。 |
| 皮肤 | 视图 | 决定控件视觉外观,可更换不同皮肤,使用控件类中的模型状态决定显示内容和方式,确定控件颜色和默认大小。 |
| 行为 | 控制器 | 通过鼠标/键盘捕获用户与控件的交互,将操作转换为模型/视图的状态变化。 |

Button 控件为例:
- JavaFX Button 类作为 MVC 模型,有变量指定显示内容、显示提示和按钮按下时调用的函数,如文本、字体、图像等。
- 皮肤创建提供按钮外观的节点,如两个圆角矩形和一个文本节点。
- 皮肤和行为类负责实现按钮激活功能:
- 皮肤监听鼠标事件。
- 鼠标按下时,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值