我想把这个图表单独放到一个方法里,有什么问题呢?

请问有什么问题吗?

package application;
    
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.embed.swing.SwingFXUtils;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.SnapshotParameters;
import javafx.scene.chart.BarChart;
import javafx.scene.chart.CategoryAxis;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.scene.image.WritableImage;
import javafx.scene.layout.BorderPane;
import javafx.scene.paint.Color;


public class Main extends Application {
    @SuppressWarnings("unused")
    @Override
    public void start(Stage primaryStage) {
         //     Chart a=new Chart();
        int CDDuration[]= {2500,2300,220,1400,1500};
        BarChart<String,Number> barChart2;
        barChart2 = abb(CDDuration);
//布局管理器        
        try {
            BorderPane root = new BorderPane();
            Scene scene = new Scene(barChart2);
            scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }
//截图相关
        SnapshotParameters params = new SnapshotParameters();
        params.setFill(Color.TRANSPARENT);// 设置透明背景或其他颜色
        WritableImage image5 = barChart2.snapshot(params, null); 
        try {  
              File outputFile5 = new File("D:/JavaFX/办会单位总时长.png");
              ImageIO.write(SwingFXUtils.fromFXImage(image5, null), "png",outputFile5);
          } catch (IOException ex) {  
              
          }  
       
    }
    
    public static BarChart<String, Number> abb(int arg[]){
         int arr[]= {0,0,0,0,0};
         int i=0;
         while(arg != null) {
             arr[i]=arg[i];
             i++; 
         }
          CategoryAxis xAxis2 = new CategoryAxis();   
          xAxis2.setLabel("办会单位"); 
          NumberAxis yAxis2 = new NumberAxis(0,2700,10); 
          yAxis2.setLabel("办会总时长");   
          ObservableList<XYChart.Series<String,Number>> list_data=FXCollections.observableArrayList();
          XYChart.Series<String, Number> xy= new XYChart.Series<String,Number>();
          xy.setName("办会总时长");
          ObservableList<XYChart.Data<String,Number>> data=FXCollections.observableArrayList();
          XYChart.Data<String, Number> d1= new XYChart.Data<String, Number>("单位1",arr[0]);
          XYChart.Data<String, Number> d2= new XYChart.Data<String, Number>("单位2",arr[1]);
          XYChart.Data<String, Number> d3= new XYChart.Data<String, Number>("单位3",arr[2]);
          XYChart.Data<String, Number> d4= new XYChart.Data<String, Number>("单位4",arr[3]);
          XYChart.Data<String, Number> d5= new XYChart.Data<String, Number>("单位5",arr[4]);
          data.add(d1);
          data.add(d2);
          data.add(d3);
          data.add(d4);
          data.add(d5);
          xy.setData(data);
          list_data.add(xy);
          BarChart<String,Number> barChart1 = new BarChart<>(xAxis2,yAxis2,list_data);
          barChart1.setTitle("各单位会议总时长");
          return barChart1;
    }
    
    public static void main(String[] args) {
        launch(args);
    }
}

您好,你可以单独把这个图表的类抽出来,作为独立的类,然后在使用的时候import进去即可。java完全是支持的。