如何将图像附加到按钮而不是在JavaFX中设置文本?[无FXML]

如何将图像附加到按钮而不是在JavaFX中设置文本?[无FXML],java,javafx,project,Java,Javafx,Project,我是JavaFX新手,目前正在从事一个项目(其中我不能使用fxml)。 我想创建一个按钮,将显示一个图像,如搜索图标。 我将提供一个具体的图像: 有什么建议吗?提前谢谢 你在问题中写道 我是JavaFX新手 然后我建议找一个教程。我认为这比在这里发布问题要好,你可以在一个好的教程中找到答案。我推荐 以下代码在链接到的图像中生成GUI。请注意,包含图像的文件search.png必须与文件ButonImg.class位于同一目录中,即编译以下代码时创建的文件。我建议阅读下面代码中[JavaFX]类

我是JavaFX新手,目前正在从事一个项目(其中我不能使用fxml)。 我想创建一个按钮,将显示一个图像,如搜索图标。 我将提供一个具体的图像:


有什么建议吗?提前谢谢

你在问题中写道

我是JavaFX新手

然后我建议找一个教程。我认为这比在这里发布问题要好,你可以在一个好的教程中找到答案。我推荐

以下代码在链接到的图像中生成GUI。请注意,包含图像的文件search.png必须与文件
ButonImg.class
位于同一目录中,即编译以下代码时创建的文件。我建议阅读下面代码中[JavaFX]类和方法的javadoc,以了解它们是如何工作的。javadoc可以在线获得,并且可以通过搜索轻松找到,例如,如果您搜索单词javafx hbox

导入javafx.application.application;
导入javafx.geometry.Insets;
导入javafx.scene.scene;
导入javafx.scene.control.Button;
导入javafx.scene.control.Label;
导入javafx.scene.control.TextField;
导入javafx.scene.image.image;
导入javafx.scene.image.ImageView;
导入javafx.scene.layout.HBox;
导入javafx.stage.stage;
公共类ButonImg扩展了应用程序{
@凌驾
public void start(Stage primaryStage)引发异常{
标签=新标签(“城市”);
TextField txtFld=新的TextField();
按钮按钮=新按钮();
Image img=新图像(getClass().getResourceAsStream(“search.png”);
ImageView imgView=新的ImageView(img);
按钮。设置图形(imgView);
HBox根=新HBox(10.0d,标签,txtFld,按钮);
根。设置填充(新插入(20.0d,20.0d,20.0d,20.0d));
场景=新场景(根);
初级阶段。场景(场景);
primaryStage.show();
}
/**
*从这里开始。
*/
公共静态void main(字符串[]args){
发射(args);
}
}
下面是运行上述代码时显示的GUI图像

按钮。设置图形(新图像视图(…)