举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > javafx形 JavaFX 区域

javafx形 JavaFX 区域

2023-03-11 03:18 Java教程

javafx形 JavaFX 区域

javafx形

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);  

    }  
}  																     

JavaFX 区域图

JavaFX教程 - JavaFX区域图


区域图是另一种类型的双轴图表。

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();
    }
}

上面的代码生成以下结果。

null

创建区域图

要创建区域图,请使用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();
    }
     
}

上面的代码生成以下结果。

null

向AreaChart添加更多系列



//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);
    }
}

上面的代码生成以下结果。

null

创建堆叠区域图

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);
    }
}

上面的代码生成以下结果。




阅读全文
以上是编程学为你收集整理的javafx形 JavaFX 区域全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部