JavaFX 自定义 UI 与相关资源介绍
一、JavaFX 中 LED 自定义控件的实现
1.1 resize 方法
在 JavaFX 里,要实现 LED 自定义控件, resize
方法十分关键。此方法会为所有可能影响 LED 控件可视化或大小的属性设置监听器。当宽度和高度的监听器被触发时,就会调用 resize
方法,该方法会处理控件中所有节点的大小调整。
private void resize() {
size = getWidth() < getHeight() ? getWidth() : getHeight();
if (size > 0) {
if (getWidth() > getHeight()) {
setTranslateX(0.5 * (getWidth() - size));
} else if (getHeight() > getWidth()) {
setTranslateY(0.5 * (getHeight() - size));
}
innerShadow.setRadius(0.07 * size);
glow.setRadius(0.36 * size);
glow.setColor(getLedColor());
frame.setPrefSize(size, size);
led.setPrefSize(