gpt4 book ai didi

java - 将参数传递给 JavaFx

转载 作者:行者123 更新时间:2023-11-30 03:52:49 26 4
gpt4 key购买 nike

我正在尝试使用 JavaFx 构建一个简单的图像查看器,其工作原理与此类似:

Viewer viewer = new Viewer("path/to/file.jpg");

我已经按照下面的代码尝试了一些方法,但它不起作用。

public class Viewer extends Application {

private String filePath;

public Viewer(String filePath) {
this.filePath = filePath;
}

@Override
public void start(Stage stage) {
// load the image
Image image = new Image("file:" + this.filePath);

// simple displays ImageView the image as is
ImageView iv1 = new ImageView();
iv1.setImage(image);

Group root = new Group();
Scene scene = new Scene(root);
HBox box = new HBox();
box.getChildren().add(iv1);
root.getChildren().add(box);

stage.setTitle(this.filePath);
stage.setWidth(415);
stage.setHeight(200);
stage.setScene(scene);
stage.sizeToScene();
stage.show();
}
}

是否有向 JavaFx 应用程序传递参数的标准方法?

最佳答案

如果我理解您的问题,您已经为您的应用程序子类传递了一个或多个参数。抽象应用程序类有一个名为 launch 的方法,该方法接收 String[] args。然后你可以为此传递一个参数,例如。 String[]{"--nameOfParameters=参数值",...} 。您可以获取 getParameters().getNamed().get("name ofparameters") 的参数。

下面我举了一个例子。

public class Viewer extends Application {

@Override
public void start(Stage stage) {
// load the image
Image image = new Image("file:" + getParameters().getNamed().get("file"));
...
}

public void caller(String[] args) {
launch(args);
}

/**
* This is a example of the passing a parameters
* @param args the command line arguments
*/
public static void main(String[] args) {
(new Viewer()).caller(new String[]{"--file=path/to/file.jpg"});
}

}

关于java - 将参数传递给 JavaFx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23959367/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com