javafx实现开窗效果

本文详细介绍了如何使用javafx技术实现窗口的开窗效果,包括使用GridPane存放Rectangle来模拟窗户外观,并通过CSS设置Rectangle的stroke和fill属性以达到朦胧效果。此外,文章还演示了窗口移动时通过Timeline改变布局位置的实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

javafx实现开窗效果

在线运行:launch

界面设计:

1、移动窗口主要是使用GridPane存放Rectangle,然后设置Rectangle的fill和stroke属性,使其整个GridPane展示如窗户一样。Rectangle{ -fx-stroke-width:10; -fx-stroke:radial-gradient(radius 100%, #C60, #C90, #C60); -fx-stroke-type:inside; -fx-border-insets:5; }

2、通过css的设置,设置Rectangle的stroke属性,width宽度,颜色,stroke类型(inside则stroke的向里面延伸,举个例子:若rect宽100,你设置width为10,则实际展示还是100,不过空白的地方就只有90. 如type设置为outside,则展示为110, stroke占10,空白还是100)。在代码里还设置了rect的fill属性,使其有种朦胧的效果 RadialGradient gradient = new RadialGradient(0, 0, 0.5, 0.5, 1, true, CycleMethod.NO_CYCLE, new Stop[] { new Stop(0, Color.rgb(255, 255, 255, 0.1)), new Stop(1, Color.rgb(255, 255, 255, 1)) }); rect1.setFill(gradient);

3、窗口的移动,仅仅是在MouseEnter和MouseExited事件中,使用Timeline改变GridPane的layoutx,y值。因为向上移动的部分不能够展示出来,所以还需要设置整个视口,所以对JFXeeWindow类可视进行裁剪,只显示固定的部分。 rect = new Rectangle(400,600); this.setClip(rect);

效果图:

源码下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值