Control,Skin,behavior
在javaFX中每一个UI组件都由一个Control,Skin,behavior组成。首先创建一个Control类继承javafx.scene.control.Control,它持有组件的属性,并且作为主的class,也就是说由它实例化,并且被加到父节点中。skin则负责展示,而behavior负责交互。
[img]http://dl.iteye.com/upload/attachment/0078/8015/91013797-0130-3489-96c6-23e2cc96a013.png[/img]
如果组件只需要展示而没有交互,则只需要简单的创建behavior,因此只需要继承com.sun.javafx.scene.control.behavior.BehaviorBase。
创建一个skin,继承com.sun.javafx.scene.control.skin.BaseSkin,在此类中展示和布局子节点。
创建一个control
在javaFX中每一个UI组件都由一个Control,Skin,behavior组成。首先创建一个Control类继承javafx.scene.control.Control,它持有组件的属性,并且作为主的class,也就是说由它实例化,并且被加到父节点中。skin则负责展示,而behavior负责交互。
[img]http://dl.iteye.com/upload/attachment/0078/8015/91013797-0130-3489-96c6-23e2cc96a013.png[/img]
如果组件只需要展示而没有交互,则只需要简单的创建behavior,因此只需要继承com.sun.javafx.scene.control.behavior.BehaviorBase。
public class MyCustomControlBehavior extends BehaviorBase { public MyCustomControlBehavior(MyCustomControl control) { super(control); } }
创建一个skin,继承com.sun.javafx.scene.control.skin.BaseSkin,在此类中展示和布局子节点。
public class MyCustomControlSkin extends SkinBase{ public MyCustomControlSkin(MyCustomControl control) { super(control, new MyCustomControlBehavior(control)); } }
创建一个control
public class MyCustomControlSkin ext

本文介绍了JavaFX中UI组件由Control、Skin和Behavior组成的原理。Control作为主要类负责属性持有,Skin负责展示和布局,Behavior处理交互。通过创建Control、Skin和Behavior的子类并关联,可以实现自定义的JavaFX控件。文章还提到了如何通过CSS和代码设置关联,并提供了详细的关系图解。

173

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



