package javafxapplication14;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
/**
* @author Administrator
*/
function actionPerformed(color:String) :Void {
println(color);
}
Stage {
title: "button"
width: 320
height:200
scene: Scene {
content: [
Rectangle {
x: 0, y: 0
width: 320, height: 200
fill: Color.web("#4f6068")
},
FXButton {
offsetX: 40
offsetY: 50
lightColor: "#fc1503"
darkColor: "#460702"
action: actionPerformed
},
FXButton {
offsetX: 100
offsetY: 50
lightColor: "#657efd"//042dfb"
darkColor: "#02124d"
action: actionPerformed
},
FXButton {
offsetX: 160
offsetY: 50
lightColor: "#27FB04"
darkColor: "#0B4402"
action: actionPerformed
},
FXButton {
offsetX: 220
offsetY: 50
lightColor: "#f4fd02"
darkColor: "#414301"
action: actionPerformed
}
]
}
}
package javafxapplication14;
import javafx.scene.CustomNode;
import javafx.scene.Group;
import javafx.scene.Node;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.scene.effect.GaussianBlur;
import javafx.scene.paint.LinearGradient;
import javafx.scene.paint.Stop;
import javafx.scene.shape.LineTo;
import javafx.scene.shape.MoveTo;
import javafx.scene.shape.Path;
import javafx.scene.shape.VLineTo;
import javafx.scene.transform.Transform;
import javafx.scene.effect.Glow;
import javafx.animation.Interpolator;
import javafx.animation.KeyFrame;
import javafx.animation.Timeline;
import javafx.scene.input.MouseEvent;
/**
* @author Administrator
*/
// place your code here
public class FXButton extends CustomNode {
package var offsetX:Number;
package var offsetY:Number;
package var lightColor:String;
package var darkColor:String;
var glowLevel:Number = 0.0;
var glow = Glow { level: bind glowLevel };
package var action: function(:String) : Void;
override function create() : Node {
Group {
translateX: offsetX;
translateY: offsetY;
content:[
Group {
effect: bind glow
content:[
Circle {
effect: GaussianBlur { radius: 10.0 }
centerX: 18, centerY: 18
radius: 18
fill: Color.BLACK
transforms: Transform.translate(-2, -2)
},
Circle {
effect: GaussianBlur { radius: 10.0 }
centerX: 18, centerY: 18
radius: 18
fill: Color.color(1, 1, 1, 0.6)
transforms: Transform.translate(1, 1)
},
Circle {
centerX: 18, centerY: 18
radius: 18
fill:
LinearGradient {
startX : 0.0
startY : 0.0
endX : 0.0
endY : 1.0
stops: [
Stop {
color : Color.web(darkColor)
offset: 0.0
},
Stop {
color : Color.web(lightColor)
offset: 1.0
},
]
}
},
Path {
fill: Color.BLACK
stroke: Color.color(1, 1, 1, 0.4)
elements : [
MoveTo {
x : 0.0, y : 0.0
},
VLineTo {
y : 20
},
LineTo {
x : 16, y : 10
},
LineTo {
x : 0.0, y : 0.0
},
]
transforms: Transform.translate(11, 7)
},
Circle {
effect: GaussianBlur{ radius: 8.0 }
centerX: 18, centerY: 18
radius: 15
fill:
LinearGradient {
startX : 0.0
startY : 0.0
endX : 0.0
endY : 1.0
stops: [
Stop {
color : Color.WHITE
offset: 0.0
},
Stop {
color : Color.TRANSPARENT
offset: 1.0
},
]
}
},
]
onMouseEntered: function( e: MouseEvent ):Void {
fader.rate = 1;
fader.play();
}
onMouseExited: function( e: MouseEvent ):Void {
fader.rate = -1;
fader.play();
}
onMouseReleased: function( e: MouseEvent ):Void {
action("lightColor:{lightColor} darkColor:{darkColor}");
}
}
]
}
}
def fader:Timeline = Timeline {
keyFrames : [
KeyFrame {
time : 200ms
values : [
glowLevel => 0.6 tween Interpolator.LINEAR
]
}
]
};
}
- 大小: 12.4 KB
分享到:
相关推荐
JavaFX是一种用于构建桌面、移动和嵌入式设备上的富客户端应用程序的开源框架。它提供了一个灵活的图形用户界面(GUI)工具包,允许开发者创建美观且交互性强的应用程序。在JavaFX中,你可以利用丰富的2D和3D图形、...
JavaFX是一种用于构建桌面、移动和嵌入式设备上的富客户端应用程序的开源框架。它提供了丰富的用户界面组件和强大的图形渲染能力,使得开发者能够创建出交互性极强且视觉效果出众的应用程序。在这个名为"javafx的一...
JavaFX是一种用于构建桌面应用程序的Java库,它提供了丰富的用户界面工具和功能,可以创建出美观、交互性强的图形用户界面。在这个项目中,“用JavaFX做的一个登录注册界面”显然是利用JavaFX来设计和实现了一个包含...
javafx
JAVAFX第一张学习笔记,第一张的学习源代码!
JavaFX是一种用于构建桌面、移动和嵌入式设备上的富客户端应用程序的框架,自Java 7版本开始成为标准的一部分。这个“简单的JavaFX登录”项目是利用JavaFX库创建的一个基本用户登录界面,旨在帮助开发者了解如何在...
JavaFx是Oracle公司推出的一个跨平台的图形用户界面工具包,用于开发桌面应用程序。JavaFx提供了一个基于Scene Graph的图形渲染引擎,可以用于开发富客户端应用程序。 知识点2:FXML简介 FXML是JavaFx的标记语言,...
JavaFX的一个demo,带checkbox的tableview,选中一行获取所选中行的数据。
JavaFX 是一个用于构建桌面、移动和嵌入式设备上富客户端应用的开源图形用户界面(GUI)工具包。它是Java平台的一部分,提供了一系列高级特性,包括2D和3D图形处理、媒体支持、CSS样式以及强大的数据绑定机制。本...
JavaFX是一种用于构建桌面、移动和嵌入式设备上的富客户端应用程序的框架,它提供了丰富的图形用户界面(GUI)组件库。在这个项目“JavaFX实现一个画板”中,我们看到开发者利用JavaFX来创建了一个功能完备的画板...
- **Radio Button**:一组互斥的选择项。 - **Toggle Button**:可以在选中和未选中状态之间切换的按钮。 - **Checkbox**:复选框,允许多选。 - **Choice Box**:下拉选择器,用于选择单个选项。 - **Text Field**...
javafx 的一个简单演示demo
JavaFX提供了一系列内置控件,如Button、Label、TextField、TableView等,覆盖了常见的用户交互需求。这些控件可以通过JavaFX的API进行自定义,以满足特定的设计和功能需求。 4. **2D和3D图形**: JavaFX支持2D和...
JavaFX SDK 11.0.2 是一个用于开发富客户端应用程序的工具包,它在Java 11及更高版本中不再作为标准JDK的一部分。这个独立的SDK提供了必要的库和工具,使得开发者能够在Java平台上构建具有丰富图形用户界面(GUI)的...
JavaFX 是一个用于构建桌面应用、移动应用以及嵌入式系统的富客户端用户界面的Java库。它是Oracle在Java SE和Java EE平台上的官方图形用户界面(GUI)工具包,为开发者提供了一种创建美观、交互丰富的应用程序的方式...
JavaFX 是一个用于开发桌面应用程序的Java库,它提供了丰富的用户界面组件和强大的图形功能。SpringBoot 是一个基于 Spring 框架的轻量级启动器,它简化了配置并帮助快速搭建应用。MyBatis 是一个优秀的持久层框架,...
当前的JavaFX包括JavaFX脚本和JavaFX Mobile(一种运营于行动装置的操作系统),今后JavaFX将包括更多的产品。JavaFX Script编程语言(以下称为JavaFX)是一种declarative, statically typed(声明性的、静态类型)...
JavaFX PDF阅读软件是一款基于JavaFX技术开发的PDF文档查看应用程序。它利用开源库icepdf来解析和渲染PDF文档,为用户提供一个用户友好的界面来查看和操作PDF文件。下面我们将详细探讨JavaFX、icepdf以及如何使用...
JavaFX 是一个强大的Java图形用户界面工具包,用于构建跨平台的应用程序,特别是在桌面系统上。这个项目,"JavaFX 简易音乐播放器",是一个基于JavaFX的简单音乐播放应用程序,非常适合初学者或者想要熟悉JavaFX特性...
这是利用sun的javafx实现的具有相对完整功能的多媒体播放器-----相对于网上的“一分钟写出一个javafx播放器”而言。 注意:javafx需要一些运行环境,具体说来是: 1.jdk6update14以上 2.javafx运行包----如果你在...