JavaFX是一种用于开发和部署跨平台的桌面应用程序、移动应用程序和Web应用程序的Java软件开发工具包。它是一个基于Java语言的图形用户界面(GUI)框架,可以帮助开发者快速创建出具有丰富多彩的图形界面的应用程序。
JavaFX使用一个新的声明性语言——FXML来定义GUI,这使得开发者能够使用XML来定义GUI布局,而不必手动写代码。此外,JavaFX还提供了一个图形化界面设计工具——Scene Builder,它能够帮助开发者快速创建出GUI界面。
JavaFX还提供了一个名为CSS的样式表语言(Cascading Style Sheets),它能够帮助开发者快速地修改GUI界面的样式。此外,JavaFX还支持3D图形、2D图形、声音、视频、文本、数学函数以及其他各种特性。
// 创建 JavaFX 应用 public class HelloWorld extends Application { @Override public void start(Stage primaryStage) { // 创建 Label 控件 Label label = new Label("Hello World!"); // 创建 Scene 控件 Scene scene = new Scene(label, 300, 250); // 设置 Stage 的标题 primaryStage.setTitle("Hello World!"); // 设置 Stage 的场景 primaryStage.setScene(scene); // 显示 Stage primaryStage.show(); } public static void main(String[] args) { launch(args); } }
区域图是另一种类型的双轴图表。
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.chart.NumberAxis; import javafx.scene.chart.StackedAreaChart; import javafx.scene.chart.XYChart; import javafx.stage.Stage; public class Main extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) { Group root = new Group(); final NumberAxis xAxis = new NumberAxis(1, 12, 1); final NumberAxis yAxis = new NumberAxis(); final StackedAreaChart<Number,Number> stackedAreaChart = new StackedAreaChart<Number,Number>(xAxis,yAxis); final XYChart.Series<Number,Number> series1 = new XYChart.Series<Number,Number>(); xAxis.setLabel("Month"); yAxis.setLabel("Value"); stackedAreaChart.setTitle("StackedAreaChart"); series1.setName("XYChart.Series 1"); series1.getData().add(new XYChart.Data(1, 100)); series1.getData().add(new XYChart.Data(2, 200)); series1.getData().add(new XYChart.Data(10, 150)); XYChart.Series<Number,Number> series2 = new XYChart.Series(); series2.setName("XYChart.Series 2"); series2.getData().add(new XYChart.Data(1, 50)); series2.getData().add(new XYChart.Data(2, 200)); series2.getData().add(new XYChart.Data(10, 260)); stackedAreaChart.getData().addAll(series1, series2); root.getChildren().addAll(stackedAreaChart); primaryStage.setScene(new Scene(root, 500, 400)); primaryStage.show(); } }
上面的代码生成以下结果。
要创建区域图,请使用AreaChart对象和使用XYChart.Series类创建一个或多个数据系列,并将数据分配给图表。
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.chart.AreaChart; import javafx.scene.chart.CategoryAxis; import javafx.scene.chart.NumberAxis; import javafx.scene.chart.XYChart; import javafx.stage.Stage; public class Main extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) { primaryStage.setTitle(""); Group root = new Group(); final CategoryAxis xAxis = new CategoryAxis(); final NumberAxis yAxis = new NumberAxis(); xAxis.setLabel("Month"); yAxis.setLabel("Value"); final AreaChart<String,Number> areaChart = new AreaChart<String,Number>(xAxis,yAxis); areaChart.setTitle("AreaChart"); XYChart.Series series = new XYChart.Series(); series.setName("XYChart.Series"); series.getData().add(new XYChart.Data("January", 100)); series.getData().add(new XYChart.Data("February", 200)); series.getData().add(new XYChart.Data("March", 50)); areaChart.getData().add(series); root.getChildren().add(areaChart); primaryStage.setScene(new Scene(root, 500, 400)); primaryStage.show(); } }
上面的代码生成以下结果。
//package areachartsample; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.chart.AreaChart; import javafx.scene.chart.NumberAxis; import javafx.scene.chart.XYChart; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage stage) { stage.setTitle("Area Chart Sample"); final NumberAxis xAxis = new NumberAxis(1, 30, 1); final NumberAxis yAxis = new NumberAxis(-5, 27, 5); final AreaChart<Number,Number> ac = new AreaChart<Number,Number>(xAxis,yAxis); xAxis.setForceZeroInRange(true); ac.setTitle("Temperature Monitoring (in Degrees C)"); XYChart.Series series1 = new XYChart.Series(); series1.setName("March"); series1.getData().add(new XYChart.Data(0, -2)); series1.getData().add(new XYChart.Data(3, -4)); series1.getData().add(new XYChart.Data(6, 0)); series1.getData().add(new XYChart.Data(9, 5)); XYChart.Series series2 = new XYChart.Series(); series2.setName("April"); series2.getData().add(new XYChart.Data(0, 4)); series2.getData().add(new XYChart.Data(3, 10)); series2.getData().add(new XYChart.Data(6, 15)); series2.getData().add(new XYChart.Data(9, 8)); XYChart.Series series3 = new XYChart.Series(); series3.setName("May"); series3.getData().add(new XYChart.Data(0, 20)); series3.getData().add(new XYChart.Data(3, 15)); series3.getData().add(new XYChart.Data(6, 13)); series3.getData().add(new XYChart.Data(9, 12)); Scene scene = new Scene(ac,800,600); //scene.getStylesheets().add("areachartsample/Chart.css"); ac.setHorizontalZeroLineVisible(true); ac.getData().addAll(series1, series2, series3); stage.setScene(scene); stage.show(); } public static void main(String[] args) { launch(args); } }
上面的代码生成以下结果。
import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.chart.NumberAxis; import javafx.scene.chart.StackedAreaChart; import javafx.scene.chart.XYChart; import javafx.stage.Stage; public class Main extends Application { final NumberAxis xAxis = new NumberAxis(1, 10, 1); final NumberAxis yAxis = new NumberAxis(); final StackedAreaChart<Number, Number> sac = new StackedAreaChart<>(xAxis, yAxis); @Override public void start(Stage stage) { sac.setTitle("title"); XYChart.Series<Number, Number> seriesApril = new XYChart.Series<>(); seriesApril.setName("April"); seriesApril.getData().add(new XYChart.Data(1, 4)); seriesApril.getData().add(new XYChart.Data(3, 10)); seriesApril.getData().add(new XYChart.Data(6, 15)); XYChart.Series<Number, Number> seriesMay = new XYChart.Series<>(); seriesMay.setName("May"); seriesMay.getData().add(new XYChart.Data(1, 23)); seriesMay.getData().add(new XYChart.Data(7, 26)); seriesMay.getData().add(new XYChart.Data(10, 26)); Scene scene = new Scene(sac, 800, 600); sac.getData().addAll(seriesApril, seriesMay); stage.setScene(scene); stage.show(); } public static void main(String[] args) { launch(args); } }
上面的代码生成以下结果。
Python3 os.lchflags() 方法 Python3 OS 文件/目录方法概述os.lchflags() 方法用于设置路径的标记为数字标记,类似 chflags(),...
Python3 os.listdir() 方法 Python3 OS 文件/目录方法概述os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列...
Python3 os.lstat() 方法 Python3 OS 文件/目录方法概述os.lstat() 方法用于类似 stat() 返回文件的信息,但是没有符号链接。在某...
Python3 os.tcgetpgrp() 方法 Python3 OS 文件/目录方法概述os.tcgetpgrp() 方法用于回与终端fd(一个由os.open()返回的打开的文...
Python3 os.removedirs() 方法 Python3 OS 文件/目录方法概述os.removedirs() 方法用于递归删除目录。像rmdir(), 如果子文件夹成...