我想替换 Int[] mydata 并使用数组 argv 并使用 javax 从另一个类中使用 javafx 调用我的类 Graph, 从那里我声明我的字符串数组并调用我的 java 程序。 - 现在我需要使用像 mydata 这样的字符串从另一个程序调用我的类。 和 - 使用数组 argv 并构建我的新数组。
这可能吗?如何? 感谢您的帮助。
public class Graph extends Application {
public void start(Stage stage) {
int[] mydata = {
12, 9, 0, 1, 38, 19, 21, 72, 33, 83, 14, 10, 65, 46, 10, 17, 27, 38, 65, 98, 8, 58, 38, 79, 37, 69, 26, 15};
Pane root = new Pane();
NumberAxis xAxis = new NumberAxis();
NumberAxis yAxis = new NumberAxis();
ScatterChart scatterChart=new ScatterChart(xAxis,yAxis);
scatterChart.setTitle("Chart");
XYChart.Series data=new XYChart.Series();
data.setName("Data");
for (int i=0; i< mydata.length; i++) {
data.getData().add(new XYChart.Data(i,mydata[i]));
}
scatterChart.getData().addAll(data);
root.getChildren().add(scatterChart);
Scene scene = new Scene(root, 1000, 600);
//scene.getStylesheets().add("style.css");
//scene.getStylesheets().add(getClass().getResource("style.css").toExternalForm());
scatterChart.setPrefSize(1000, 600);
stage.setTitle("Graph");
stage.setScene(scene);
stage.show();
File file = new File("c:\\Images\\Image.png");
WritableImage snapshot = scene.snapshot(null);
BufferedImage bimg = SwingFXUtils.fromFXImage(snapshot, null);
try {
ImageIO.write(bimg, "png", file);
} catch (Exception s) {
s.printStackTrace();
}
}
public static void main(String[] argv) {
launch(argv);
}
}
最佳答案
如果您想访问 start
方法中为 main
方法提供的arguments
,以便将其转换为整数,您可以调用方法getParameters().getUnnamed()
。更多详情here .
然后要将 String
的 List
转换为 Integer
的 List
,您可以执行以下操作:
使用 Java 8:
List<Integer> mydata = arguments.stream().map(Integer::parseInt).collect(Collectors.toList());
使用 Java 7:
List<Integer> mydata = new ArrayList<>(arguments.size());
for (String argument : arguments) {
mydata.add(Integer.parseInt(argument));
}
关于java - 如何调用java程序以及使用argv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36720941/