gpt4 book ai didi

java - 在 JavaFX 中使用用户选择的图像创建按钮

转载 作者:行者123 更新时间:2023-12-02 11:29:16 25 4
gpt4 key购买 nike

我正在创建一个 Java 应用程序,它允许用户单击打开文件选择器的按钮,并在选择图像后使用该图像和文本字段中的文本创建一个按钮。它可以在没有图像的情况下工作,但我无法弄清楚如何将图像添加到我的生活中的按钮。

上下文:btns 是一个按钮 GridPane,lastTopIn 是一个整数,用于跟踪 GridPane 最后使用的列。单击时该按钮会自行删除。

FileChooser fc = new FileChooser()
fc.setTitle("Choose Image for Button");
File file = fc.showOpenDialog(null);
lastTopIn++;
Button thebutton = new Button((String) tf.getText(), new ImageView(new Image(getClass().getResourceAsStream("file://"+file.getAbsolutePath()))));
thebutton.setOnMouseClicked(new EventHandler<Event>() {
@Override
public void handle(Event event) {
btns.getChildren().remove(thebutton);
}
});
btns.add(thebutton, lastTopIn,1);

预先感谢您的帮助。

最佳答案

要显示文件系统上文件中的图像,请将文件转换为 URI,而不是尝试将其作为资源加载:

Button thebutton = new Button(tf.getText(), 
new ImageView(new Image(file.toURI().toString())));

file.ToURI() 将创建正确的 URI 方案,并正确转义任何在文件名中合法但在 URI 中非法的字符,例如空格。

请注意,作为快捷方式,您可以将 URI 直接传递给 ImageView 构造函数,它将为您创建图像:

Button thebutton = new Button(tf.getText(), new ImageView(file.toURI().toString()));

关于java - 在 JavaFX 中使用用户选择的图像创建按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49392644/

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