JavaFX是一种用于开发跨平台的桌面应用程序和媒体内容的Java语言技术。它允许开发者使用Java语言来创建功能强大的图形化界面,并且可以在多个平台上运行。
随着Web应用程序的流行,许多开发者希望将他们的JavaFX应用程序转换为Web项目,以便能够在浏览器中运行。这样一来,他们就可以将其应用程序扩展到更多的平台,而不必重新编写代码。
要将JavaFX项目转换为Web项目,首先要使
JavaFX转换相关类位于javafx.scene.transform包中,并且是Transform类的子类。
一个变换是关于如何改变坐标系。 JavaFX支持以下类型的转换:
JavaFX Transformations可以在三个坐标上操作,从而允许我们创建三维3D对象和效果。
JavaFX实现了x轴和y轴以及x,y和z轴的变换构造函数。
要创建二维2D效果,请仅指定x和y坐标。要创建3D效果,请指定所有三个坐标。
平移变换将节点沿着一个轴相对于其初始位置从一个位置移动到另一个位置。木琴条的初始位置由x,y和z坐标定义。
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.shape.Rectangle; import javafx.stage.Stage; public class Main extends Application { public static void main(String[] args) { Application.launch(args); } @Override public void start(Stage primaryStage) { primaryStage.setTitle("Text Fonts"); Group rectangleGroup = new Group(); Scene scene = new Scene(rectangleGroup, 550, 250); Rectangle rect = new Rectangle(); rect.setWidth(100); rect.setHeight(100); rect.setTranslateX( 135); rect.setTranslateY(11.0); rectangleGroup.getChildren().add(rect); primaryStage.setScene(scene); primaryStage.show(); } }
上面的代码生成以下结果。
旋转变换将围绕指定的枢轴点移动节点。
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.shape.Rectangle; import javafx.stage.Stage; public class Main extends Application { public static void main(String[] args) { Application.launch(args); } @Override public void start(Stage primaryStage) { primaryStage.setTitle("Text Fonts"); Group rectangleGroup = new Group(); Scene scene = new Scene(rectangleGroup, 550, 250); Rectangle rect = new Rectangle(); rect.setWidth(100); rect.setHeight(100); rect.setRotate(10); rectangleGroup.getChildren().add(rect); primaryStage.setScene(scene); primaryStage.show(); } }
上面的代码生成以下结果。
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.shape.Rectangle; import javafx.stage.Stage; public class Main extends Application { public static void main(String[] args) { Application.launch(args); } @Override public void start(Stage primaryStage) { primaryStage.setTitle("Text Fonts"); Group rectangleGroup = new Group(); Scene scene = new Scene(rectangleGroup, 550, 250); Rectangle rect = new Rectangle(); rect.setWidth(100); rect.setHeight(100); rect.setScaleY(2); rectangleGroup.getChildren().add(rect); primaryStage.setScene(scene); primaryStage.show(); } }
上面的代码生成以下结果。
要剪切,使用Transform类的剪切类或剪切方法
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.shape.Rectangle; import javafx.scene.transform.Shear; import javafx.stage.Stage; public class Main extends Application { public static void main(String[] args) { Application.launch(args); } @Override public void start(Stage primaryStage) { primaryStage.setTitle("Text Fonts"); Group rectangleGroup = new Group(); Scene scene = new Scene(rectangleGroup, 550, 250); Rectangle rect = new Rectangle(); rect.setWidth(100); rect.setHeight(100); Shear sh = new Shear(); sh.setY(0.4); rect.getTransforms().add(sh); rectangleGroup.getChildren().add(rect); primaryStage.setScene(scene); primaryStage.show(); } }
上面的代码生成以下结果。
Java面向对象设计 -Java类实例以下是创建类的实例的一般语法:new Class Constructor; new 运算符后面是对构造函数的调用。 new ...
Java IO教程 - Java输入流抽象基本组件是InputStream类。InputStream | +--FileInputStream| +--ByteArrayInputStream| +--Piped...
Java IO教程 -Java数据输出流DataOutputStream可以将Java基本数据类型值写入输出流。DataOutputStream类包含一个写入数据类型的...
Java IO教程 -Java文件树FileVisitor API可以递归地处理文件树中的所有文件和目录。当我们要对文件树中的所有或某些文件或目录执...