请问有什么问题吗?
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完全是支持的。