没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
JavaFX 教程
JavaFX 线
为了在 JavaFX 场景上渲染图形,我们需要基本的形状和颜色。
Node 类是所有 JavaFX 场景图形节点的基本基类。它提供了转换,翻译和应用效果到
任何节点的能力。
javafx.scene.shape.Shape 类是 Node 类的后代。
所有较旧的 JavaFX 2.x Builder 类在 JavaFX 8 中已弃用。
JavaFX 线
当在 JavaFX 场景图形上绘制时,使用屏幕坐标空间(系统)渲染线。
屏幕坐标系将(0,0)放在左上角。
x 坐标沿 x 轴移动点。从上到下移动点时,y 坐标值增加。
下图显示了右侧的屏幕坐标系。
在 JavaFX 中,场景图形对象(如线,圆和矩形)是 Shape 类的派生类。
所有形状对象可以在两个成形区域之间执行几何操作,例如减法,相交和并集。
要在 JavaFX 中绘制线条,我们将使用 javafx.scene.shape.Line 类。
要创建一个 Line 对象,我们需要指定一个开始(x,y)坐标和结束坐标。
创建线节点时,有两种方法来设置起点和终点。
第一种方法使用具有参数 startX,startY,endX 和 endY 的构造函数所有参数的数据
类型为 double 。
以下代码使用构造函数创建具有起点(100,10)和终点(10,110)的线。
Line line = new Line(100, 10, 10, 110);
创建行节点的第二种方法是使用空构造函数来实例化 Line 类,然后使用 setter 方法
设置每个属性。
以下代码显示如何创建线对象和使用 setter 方法设置行的起点和终点。
Line line = new Line();
line.setStartX(100);
line.setStartY(10);
line.setEndX(10);
line.setEndY(110);
在场景图上绘制的线节点默认为 1.0 的笔触宽度和黑色的笔触颜色。
所有形状的笔触颜色都为 null,这意味着除了 Line,Polyline 和 Path 节点之外没有颜
色。
要创建不同种类的线,我们可以设置属性继承自父类 javafx.scene.shape.Shape 的属
性。
下表显示了我们可以在一行上设置的属性。
要检索或修改每个属性,您将使用其适当的 getter 和 setter 方法。
属性
数据类型 / 说明
fill
javafx.scene.paint.Paint
用于填充形状内的颜色。
smooth
Boolean
True 表示打开反锯齿,false 表示关闭反锯齿。
strokeDashOffset
Double
将距离设置为虚线图案。
strokeLineCap
javafx.scene.shape.StrokeLineCap
在线或路径的末尾设置帽样式。有三种样式:
StrokeLineCap.BUTT
StrokeLineCap.ROUND
StrokeLineCap.SQUARE
strokeLineJoin
javafx.scene.shape.StrokeLineJoin
当线相遇时设置装饰。有三种类型:
StrokeLineJoin.MITER
StrokeLineJoin.BEVEL
StrokeLineJoin.ROUND
strokeMiterLimit
Double
设置斜角接缝的限制以及斜角接缝装饰 StrokeLineJoin.MITER。
stroke
javafx.scene.paint.Paint
设置形状的笔划线的颜色。
strokeType
javafx.scene.shape.StrokeType
设置在 Shape 节点的边界周围绘制描边的位置。有三种类型:
StrokeType.CENTERED
StrokeType.INSIDE
StrokeType.OUTSIDE
strokeWidth
Double
设置线的宽度。
例子
以下代码创建一个 Line 对象,并使用 setter 方法设置开始和结束坐标。
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.scene.shape.Line;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage stage) {
VBox box = new VBox();
final Scene scene = new Scene(box,300, 250);
scene.setFill(null);
Line line = new Line();
line.setStartX(0.0f);
line.setStartY(0.0f);
line.setEndX(100.0f);
line.setEndY(100.0f);
box.getChildren().add(line);
stage.setScene(scene);
stage.show();
剩余84页未读,继续阅读
资源评论
Andy&lin
- 粉丝: 97
- 资源: 214
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功