- 浏览: 199724 次
- 性别:
- 来自: 湖南
文章分类
最新评论
-
kongyumi:
电话18800163600
初学certificate -
kongyumi:
解压密码多少?求告知
初学certificate -
船到桥头自然沉:
初学certificate -
笑海人胜:
...
JavaFX学习之Preloader -
kanjiantaiyang:
引用[img][/img][url][/url][b][/b] ...
security
Shape 继承Node
方法
setFill(Paint value) 设置内容的颜色
setStroke(Paint value) 设置画笔冲击的颜色,也就是画笔沿着线条划线
对于方形来说,就只有边界是线条
setSmooth(boolean value) ??
setStrokeDashOffset(double value) ??
setStrokeLineCap(StrokeLineCap value) 修饰stroke边缘
setStrokeLineJoin(StrokeLineJoin value) 修饰线转弯的地方
setStrokeMiterLimit(double value)
setStrokeType(StrokeType value) 画笔冲击的类型,inside往里面填充颜色,outside往边界外边填充颜色,center里面都填充
setStrokeWidth(double value)设置画笔冲击的宽度,线条宽度是不变的。可以说是着色上宽度,要设置setStroke才能看出来。
getStrokeDashArray().addAll(5.0);添加空格索引,也就是隔一段就出现空格。???
subtract(Shape shape1, Shape shape2)剪切形状,把shape1剪掉shape2部分。
union(Shape shape1, Shape shape2)把二个形状结合。
Text 继承shape
和Button不同,button继承control,所以text没有setPrefSize设置大小的方法。它通过setWrappingWidth设置text的宽度,超过了则自动换行。
但文字超过50pixel大小时,则自动换行。没有设置高度,若想控制高度,可以控制父节点的大小,或则是设置Clip属性,翻译成中文是修剪,对text进行修剪。
这时候高度只有50,其它的则不能显示。这里宽度,因为上面设置了50,所以这里100设置是无效的,若小于50则有效。可以看到这里还设置了setTextOrigin为TOP,这样clip才从开始位置,默认显示BASELINE。
如果node有大小,而里面又有内容,则有方法控制内容的位置
其它方法
setFont(Font value)设置字体
setUnderline(boolean value)设置是否有下划线
setStrikethrough(boolean value)设置是否有删除线,就是在字体上加根横线
setBoundsType(TextBoundsType value)设置边界,该边界小于默认的local。API说是用于当text作为graphic时,为获取紧密封闭的Text边界。
setFontSmoothingType(FontSmoothingType value) 设置字体smoothing类型: gray or LCD
text1.setFontSmoothingType(FontSmoothingType.LCD);
baselineOffsetProperty() ?????
Text这个类基本上就这些了。
Line extends Shape
开始点坐标,结束点坐标
line本身没什么方法
Circle extends Shape
参数半径
circle.setCenterX(300);
circle.setCenterY(300); 设置圆的位置,中心点。
circle在scene中的位置计算:
circle实际位置等于:centerx+layoutx+translateX。
circle本身也没什么方法
Ploygon extends Shape
多边形,左上,右上,右下,左下四个点构成矩形
polygon本身也没什么方法
Arc
弧形,中心点位置,x,y半径,起始角度,长度,类型
起始角度是以中心点到开始点的角度
弧形的类型有圆,
CubicCurve
二次方线
Ellipse
椭圆
Polyline
折线
QuadCurve
QuadCurve quad = new QuadCurve();
quad.setStartX(0.0f);
quad.setStartY(50.0f);
quad.setEndX(50.0f);
quad.setEndY(50.0f);
quad.setControlX(25.0f);
quad.setControlY(0.0f);
Path
必须要有moveto作为起始点
Path主要由pathElement构成
ArcTo
CubicCurveTo
HLineTo 水平直线,参数只有X值
LineTo 起始点沿着直线到终点位置
MoveTo 起始点位置
QuadCurveTo
VLineTo
刚开始学,很多不懂。希望大家指导一下,说错的地方,请大家帮忙更正。
这里有很多javafx的小游戏,一个高手写的
http://lustrezhang.gotoip4.com/fxgame/
方法
setFill(Paint value) 设置内容的颜色
text.setFill(Color.RED); rectangle.setFill(Color.RED);
setStroke(Paint value) 设置画笔冲击的颜色,也就是画笔沿着线条划线
text.setFill(Color.RED); rectangle.setFill(Color.RED); //默认黑色
对于方形来说,就只有边界是线条
setSmooth(boolean value) ??
setStrokeDashOffset(double value) ??
setStrokeLineCap(StrokeLineCap value) 修饰stroke边缘
setStrokeLineJoin(StrokeLineJoin value) 修饰线转弯的地方
setStrokeMiterLimit(double value)
setStrokeType(StrokeType value) 画笔冲击的类型,inside往里面填充颜色,outside往边界外边填充颜色,center里面都填充
setStrokeWidth(double value)设置画笔冲击的宽度,线条宽度是不变的。可以说是着色上宽度,要设置setStroke才能看出来。
getStrokeDashArray().addAll(5.0);添加空格索引,也就是隔一段就出现空格。???
rectangle.setStroke(Color.RED); rectangle.setStrokeWidth(10);
subtract(Shape shape1, Shape shape2)剪切形状,把shape1剪掉shape2部分。
union(Shape shape1, Shape shape2)把二个形状结合。
Text 继承shape
Text text1 = new Text("abcdefghijklmopqrst1232345678910");
和Button不同,button继承control,所以text没有setPrefSize设置大小的方法。它通过setWrappingWidth设置text的宽度,超过了则自动换行。
text1.setWrappingWidth(50);
但文字超过50pixel大小时,则自动换行。没有设置高度,若想控制高度,可以控制父节点的大小,或则是设置Clip属性,翻译成中文是修剪,对text进行修剪。
text1.setTextOrigin(VPos.TOP); text1.setClip(RectangleBuilder.create().height(50).width(100).build());
这时候高度只有50,其它的则不能显示。这里宽度,因为上面设置了50,所以这里100设置是无效的,若小于50则有效。可以看到这里还设置了setTextOrigin为TOP,这样clip才从开始位置,默认显示BASELINE。
如果node有大小,而里面又有内容,则有方法控制内容的位置
text1.setTextAlignment(TextAlignment.CENTER);
其它方法
setFont(Font value)设置字体
text1.setFont(new Font(20));
setUnderline(boolean value)设置是否有下划线
setStrikethrough(boolean value)设置是否有删除线,就是在字体上加根横线
setBoundsType(TextBoundsType value)设置边界,该边界小于默认的local。API说是用于当text作为graphic时,为获取紧密封闭的Text边界。
text1.setBoundsType(TextBoundsType.VISUAL);
setFontSmoothingType(FontSmoothingType value) 设置字体smoothing类型: gray or LCD
text1.setFontSmoothingType(FontSmoothingType.LCD);
baselineOffsetProperty() ?????
Text这个类基本上就这些了。
Line extends Shape
new Line(50,100,200,100);
开始点坐标,结束点坐标
line本身没什么方法
Circle extends Shape
new Circle(10)
参数半径
circle.setCenterX(300);
circle.setCenterY(300); 设置圆的位置,中心点。
circle在scene中的位置计算:
Point2D point = circle.localToScene(circle.getCenterX(), circle.getCenterY());
circle实际位置等于:centerx+layoutx+translateX。
circle本身也没什么方法
Ploygon extends Shape
new Polygon(100,100,200,100,200,200,100,200);
多边形,左上,右上,右下,左下四个点构成矩形
polygon本身也没什么方法
Arc
Arc arc = new Arc(); arc.setCenterX(50.0f); arc.setCenterY(50.0f); arc.setRadiusX(25.0f); arc.setRadiusY(25.0f); arc.setStartAngle(45.0f); arc.setLength(270.0f); arc.setType(ArcType.ROUND);
弧形,中心点位置,x,y半径,起始角度,长度,类型
起始角度是以中心点到开始点的角度
弧形的类型有圆,
CubicCurve
CubicCurve cubic = new CubicCurve(); cubic.setStartX(0.0f); cubic.setStartY(50.0f); cubic.setControlX1(25.0f); cubic.setControlY1(0.0f); cubic.setControlX2(75.0f); cubic.setControlY2(100.0f); cubic.setEndX(100.0f); cubic.setEndY(50.0f);
二次方线
Ellipse
Ellipse ellipse = new Ellipse(); ellipse.setCenterX(50.0f); ellipse.setCenterY(50.0f); ellipse.setRadiusX(50.0f); ellipse.setRadiusY(25.0f);
椭圆
Polyline
Polyline polyline = new Polyline(); polyline.getPoints().addAll(new Double[]{ 0.0, 0.0, 20.0, 10.0, 10.0, 20.0 });
折线
QuadCurve
引用
QuadCurve quad = new QuadCurve();
quad.setStartX(0.0f);
quad.setStartY(50.0f);
quad.setEndX(50.0f);
quad.setEndY(50.0f);
quad.setControlX(25.0f);
quad.setControlY(0.0f);
Path
Path path = new Path(); MoveTo mt = new MoveTo(50,50); LineTo lt = new LineTo(100,50); path.getElements().addAll(mt,lt); path.setStroke(Color.RED);
必须要有moveto作为起始点
Path主要由pathElement构成
ArcTo
CubicCurveTo
HLineTo 水平直线,参数只有X值
LineTo 起始点沿着直线到终点位置
MoveTo 起始点位置
QuadCurveTo
VLineTo
刚开始学,很多不懂。希望大家指导一下,说错的地方,请大家帮忙更正。
这里有很多javafx的小游戏,一个高手写的
http://lustrezhang.gotoip4.com/fxgame/
发表评论
-
JavaFX学习 EventFilter
2013-01-11 10:41 3672EventFilter可以让你在事件捕捉过程中处理一些东 ... -
JavaFX学习 事件Event
2013-01-04 13:54 0常用的时间一般分为鼠标事件和键盘输入事件,看一下这些事件 ... -
JavaFX学习 自定义控件
2013-01-04 14:19 8135Control,Skin,behavior 在java ... -
JavaFX学习 位置计算
2012-12-31 15:22 1273如何得到节点在window中的位置 Point2D p ... -
JavaFX学习之Image
2013-01-11 13:53 7338ImageView and Image ImageVi ... -
JavaFX学习之Concurrent
2012-12-13 16:48 0Service Task public class ... -
JavaFX学习之Geometry
2012-12-13 16:45 0BoundingBox Bounds Dim ... -
JavaFX学习之Canvas
2013-01-15 16:20 4263Canvas and GraphicsContext ... -
JavaFX学习之Input
2012-12-13 16:39 0InputEvent Clipboard and ... -
JavaFX学习之Media
2012-12-13 16:32 0javafx支持视频和音频的播放,可以看media包下的 ... -
JavaFX学习之Paint
2012-12-13 16:29 0Paint Color ImagePatte ... -
JavaFX学习之Chart
2013-01-15 16:01 9270Chart 分piechart 和XYChart 再看看 ... -
JavaFX学习之Transform
2013-01-15 19:11 5627Transform为Node提供仿射变换,如旋转,尺度变 ... -
JavaFX学习之Effect
2013-01-14 15:53 1841Effect 抽象类,所有特殊效果的父类。 Ble ... -
JavaFX学习之Animation
2012-12-13 16:02 0Animation AnimationTimer ... -
JavaFX学习之Stage
2012-12-13 15:55 0Window Stage 刚开始的Stage由平 ... -
JavaFX学习之Web
2013-01-12 16:06 12700PopupFeatures 处理新窗口 WebHi ... -
JavaFX学习之Scene
2012-12-13 15:49 0Node setManaged(boolean va ... -
JavaFX学习之Layout
2013-01-15 16:03 12688Region 继承parent,被 ... -
JavaFX学习之Control
2012-12-13 14:25 10665Control Control类控件通常由Control, ...
相关推荐
JavaFX和GeoTools结合可以创建一个强大的地理信息系统(GIS)应用程序,主要针对shape文件的读写操作。在本文中,我们将深入探讨如何利用这两个技术来实现所述的功能。 首先,JavaFX是一个用于创建桌面和移动应用的...
通过`javafx.scene`包下的类,例如`Group`、`Shape`和`Scene`,可以绘制各种几何形状,添加动画效果,实现复杂的视觉呈现。如果这个Demo包含图形元素,我们可以学习到如何在JavaFX中绘制和操作2D或3D图形。 媒体...
"javafx之属性与绑定" JavaFX 是一种新的 Java 技术,用于处理动态画面,画面精美令人赞叹。了解 JavaFX 的属性和绑定是非常重要的。 JavaFX 的属性是基于 JavaBean 的模式,但做了扩展和改进。JavaFX 的属性经常...
JavaFX支持2D和3D图形,通过JavaFX的Shape类和Group类,开发者可以创建和组合各种几何形状,实现复杂图形的绘制。对于3D,JavaFX提供了一个强大的Stage3D API,可以创建具有深度和透视的3D场景。 5. **媒体支持**...
在这个“javaFX 飞机游戏”项目中,开发者利用 JavaFX 的特性构建了一个飞机大战游戏,旨在学习和掌握 JavaFX 的用法。 首先,`Shooter.iml` 文件是 IntelliJ IDEA 创建的项目配置文件,它包含了项目的模块信息,如...
4. **2D和3D图形**:JavaFX提供了强大的2D和3D图形库,如javafx.scene.shape和javafx.scene.image,可以创建复杂的几何形状、图像处理以及动画效果。 5. **媒体处理**:JavaFX内建了媒体API(javafx.media),可以...
对于2D和3D图形的支持,JavaFX提供了javafx.scene.shape和javafx.scene.image包,其中包含各种形状和图像类。同时,javafx.scene.media包提供了音频和视频的播放功能,可以创建多媒体应用程序。 在"EssentialJavaFX...
JavaFX 是一个用于构建桌面应用、移动应用以及嵌入式系统的富客户端用户界面(Rich Client ...通过学习和分析该项目,开发者可以深入理解JavaFX的图形绘制、事件处理、状态管理以及MVC设计模式在实际项目中的应用。
总的来说,JavaFX版泡泡龙的开发涵盖了Java编程、图形界面设计、游戏逻辑实现等多个方面,对于学习和掌握JavaFX技术以及提升游戏开发能力都有很大帮助。通过阅读和分析项目的源码,可以深入理解上述知识点的具体应用...
JavaFX Script 使用了一种简洁的语法,其中最显著的特点之一就是使用 **对象字面量** 来创建对象。对象字面量提供了一种非常直观的方式来构造和初始化对象。例如: ```java Stage{ title: "My Application", width:...
JavaFX是一种用于构建桌面、移动和嵌入式设备上的富客户端应用...同时,随着技术的发展,JavaFX也不断更新,比如引入JavaFX 11及以后版本,需要与OpenJFX和模块系统配合使用,这也需要开发者保持对新技术的关注和学习。
这是『Java学习指南系列』的第19篇教程 ,是Java开发的高级课程,介绍JavaFX的入门技术。 JavaFX教程分为2篇:JavaFX入门篇 , JavaFX高级篇。 二、主要内容? 本篇介绍JavaFX的基本技术,至少包括以下方法:* 基本...
总的来说,"javafx-scr.zip" 这个压缩包很可能是为了帮助开发者学习和使用JavaFX技术,其中可能包含了示例代码、库文件或者是用于演示JavaFX特性的项目。通过深入研究这些文件,你可以了解如何使用JavaFX来构建现代...
总的来说,"JavaFX初识"是一个很好的起点,通过"Clock"工程的实践,学习者可以掌握JavaFX的基本元素、UI设计、事件处理以及应用结构。这不仅有助于理解JavaFX的工作原理,也为创建更复杂的JavaFX应用程序打下坚实的...
总的来说,这个项目是JavaFX入门级游戏开发的一个实例,对于学习JavaFX和游戏编程的学生来说,是一个很好的实践和参考资源。通过分析和理解这个项目,可以深入理解JavaFX如何构建交互式应用,以及如何利用Java编程...
5. **数据访问和处理**:利用GeoTools FX,开发者可以方便地接入各种地理空间数据源,如Shapefiles、GeoTIFF、PostGIS数据库等。同时,它还提供了数据过滤、聚合、缓冲区分析等空间操作。 6. **事件处理和响应**:...
- 3D场景的核心元素包括:`Group`(用于组合多个3D对象)、`Shape3D`(如`Box`, `Sphere`, `Cylinder`等基本形状)和`Camera`(用于定义观察者的位置和视角)。 2. **相机在JavaFX 3D中的角色**: - 相机是JavaFX...
解压后,开发者可以查看和运行源代码,学习如何将JavaFX动画技术应用于自己的项目中。 总之,JavaFX的动画系统为开发者提供了丰富的功能,使得创建动态用户界面变得简单且直观。通过掌握这些基础知识,你可以创造出...
在 JavaFX 中,`javafx.scene.shape.QuadCurve` 类用于绘制二次贝塞尔曲线,而 `javafx.scene.shape.CubicCurve` 类则用于绘制三次贝塞尔曲线。为了在屏幕上绘制曲线,你需要实例化这些类,并设置它们的起点、终点和...
例如,可以使用`javafx.scene.shape`包中的类创建几何形状,使用`javafx.scene.paint`包中的类进行颜色和渐变处理,而`javafx.scene.canvas`和`javafx.scene.web.WebEngine`则提供了绘制和展示Web内容的能力。...