冯斌:JavaFx实例(十二)“ColorText”

下面的实例用不同的颜色、方向重复显示一行文字。

本实例代码如下:

import java.util.Random; 
import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.paint.Color; 
import javafx.scene.text.Text; 
import javafx.stage.Stage; 
 
public class ColorText extends Application {
    @Override // Override the start method in the Application class
       public void start(Stage primaryStage) {
       Group root = new Group();
       Scene scene = new Scene(root, 300, 250, Color.WHITE);
       Random rand = new Random(System.currentTimeMillis());
       for (int i=0; i<100; i++) {
          int x = rand.nextInt((int)scene.getWidth());
          int y = rand.nextInt((int)scene.getHeight());
  
          int red = rand.nextInt(255);
          int green = rand.nextInt(255);
          int blue = rand.nextInt(255);
 
          Text text = new Text(x,y, "JavaFx Programing 冯斌");
 
          int rot = rand.nextInt(360);
          text.setFill(Color.rgb(red,green, blue, .99));
          text.setRotate(rot);
          root.getChildren().add(text);
       }
 
       primaryStage.setTitle("ColorText");
       primaryStage.setScene(scene);
       primaryStage.show();
   }
}

运行结果如下:

说明:

1、自从JDK最初版本发布起,我们就可以使用java.util.Random类产生随机数了。在JDK1.2中,Random类有了一个名为nextInt()的方法:

public int nextInt(int n)

给定一个参数n,nextInt(n)将返回一个大于等于0小于n的随机数,即:  0<= nextInt(n) < n。

2、System.currentTimeMillis()它返回从 UTC 1970 年 1 月 1 日午夜开始经过的毫秒数。

3、new Random()构造方法使用的种子是当前System.currentTimeMillis(),所以上面代码:Random rand = new Random(System.currentTimeMillis());可以简写为Random rand = new Random();

4、Group root = new Group();可以改成Pane pane = new Pane();

时间: 2024-10-05 20:18:30

冯斌:JavaFx实例(十二)“ColorText”的相关文章

C语言库函数大全及应用实例十二

原文:C语言库函数大全及应用实例十二                                          [编程资料]C语言库函数大全及应用实例十二 函数名: setrgbpalette 功 能: 定义IBM8514图形卡的颜色 用 法: void far setrgbpalette(int colornum, int red, int green, int blue); 程序例: #i nclude #i nclude #i nclude #i nclude int main(v

《spss统计分析与行业应用案例详解》:实例十二 卡方检验

卡方检验的功能与意义 SPSS的卡方检验是非参数检验方法的一种,其基本功能足通过样本的 频数分布来推断总体是否服从某种理论分布或某种假设分布,这种检验过程是通过分析实际的频数与理论的频数之间的差别或是说吻合程度来完成的. 相关数据 随机抽取100名某地新生婴儿性别.研究该地区新生婴儿男女比例是否存在明显的差别. 分析过程 分析-非参数检验-卡方 精确 选项 结果 描述性统计量 卡方检验频数表 卡方检验统计量表 卡方值是0.04,自由度是1,渐进显著性水平为0.841,远大于5%.所以该地区新生婴

冯斌:JavaFx实例(六)“ShowImage”

javafx.scene.image.Image类的作用是从文件或者网站显示一个图片,例如:new Image("image/us.gif")为图形文件us.gif创建一个Image对象. javafx.scene.image.ImageView是显示图片的node.一个ImageView能从一个Image对象创建.例如: Image image = new Image("image/us.gif"); ImageView imageView = new Image

冯斌:JavaFx实例(七)“ShowFlowPane”

FlowPane将node从左到右水平或从上到下垂直放置在pane中,分别用到Orientation.HORIZONTAL和Orientation.VERTICAL方法. 我们也可以设置node之间的距离,下面的例子演示FlowPane的用法: import javafx.application.Application; import javafx.geometry.Insets; import javafx.scene.Scene; import javafx.scene.control.La

冯斌:JavaFx实例(十三)“FontEffect”

本实例演示用JavaFx改变文字的字体,制造文字的阴影和倒影等效果.将会用到如下的三个类: javafx.scene.text.Font javafx.scene.effect.DropShadow javafx.scene.effect.Reflection 本实例的代码如下: import javafx.application.Application; import javafx.scene.layout.Pane;  import javafx.scene.Scene;  import j

冯斌:JavaFx实例(一)“HelloWorld”

本段代码是JavaFx入门最常见的代码,它的作用是在"窗体"中央显示一个Button按钮,单击这个Button按钮,在控制台输出"Hello World",详细代码如下: import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Parent; import javafx.s

C和指针 (pointers on C)——第十二章:使用结构和指针

第十二章 使用结构和指针 这章就是链表.先单链表,后双向链表. 总结: 单链表是一种使用指针来存储值的数据结构.链表中的每个节点包含一个字段,用于指向链表的下一个节点. 有一个独立的根指针指向链表的第1个节点.单链表只能从一个方向遍历. 如何insert单链表:1.新节点的link字段必须设置为指向它的后面节点.2.前一个节点的link字段必须指向这个新节点. 为了防止可能会插入链表的起始位置这种情况,在C中,可以保存一个指向必须进行修改的link字段的指针,而不是保存一个指向前一个节点的指针.

QT开发(二十二)——QMainWindow主窗口

QT开发(二十二)--QMainWindow主窗口 一.主窗口简介 应用程序中的主窗口是与用户进行长时间交互的顶层窗口,提供了应用程序的大部分功能,通常是应用程序启动后的第一个窗口,应用程序一般由一个主窗口和多个对话框组成. QT中直接支持主窗口,QMainWindow是QT中主窗口的基类,是继承于QWidget类的容器型组件. QMainWindow内部封装了菜单栏.工具栏.中心组件.停靠组件.状态栏等. QMainWindow内置了布局管理器,基本的组件布局如下: 二.菜单栏 QT中提供了预

Python开发【第二十二篇】:Web框架之Django【进阶】

Python开发[第二十二篇]:Web框架之Django[进阶] 猛击这里:http://www.cnblogs.com/wupeiqi/articles/5246483.html 博客园 首页 新随笔 联系 订阅 管理 随笔-124  文章-127  评论-205 Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻