如何在按钮中添加图像?

时间:2019-07-17 19:43:56

标签: javafx

我正在尝试在“重置”按钮中添加图像(icon.jpg)。但是它没有加载到按钮上。我用下面写的代码。但是它不起作用。

public StatusBar(){
    statusBarGp = new GridPane();

    File imagefile=new File("file:///C:/Users/Avi/Desktop/icon.jpg");
    Image icon_image=new Image(imagefile.toURI().toString());

    resetButton = new Button("",new ImageView(icon_image));

    whitePlayerAlert = new Label("");
    blackPlayerAlert = new Label("");
    whitePlayerTimer = new Label("");
    blackPlayerTimer = new Label("");
    Alert=new Label("");
    Alert1=new Label("");
    winner = new Label("");
    resetButton.setMaxSize(500.0, 200.0);

    resetButton.setStyle("-fx-background-radius: 10, 10, 10, 10; ");

    //statusBarGp.setGridLinesVisible(true);

    statusBarGp.setSnapToPixel(false);
    statusBarGp.setEffect(new DropShadow());


    getChildren().add(statusBarGp);
}

2 个答案:

答案 0 :(得分:2)

首先,您使过程变得复杂得多。 ImageView构造函数接受URL作为参数,您可以将图像的路径直接传递给它:

resetButton = new Button(null, new ImageView("file:///C:/Users/Avi/Desktop/icon.jpg"));

如果仍然导致空白Button,请确认图像是否存在于您输入的位置。

答案 1 :(得分:0)

使用SceneBuilder时,将图像添加到按钮要简单得多。

以下是您可以非常轻松地将图像添加到按钮的步骤。

  1. Button拖放到容器内(此处使用的容器为AnchorPane

  2. ImageView拖放到Button内(正如图所示)

  3. 添加了ImageView之后。接下来要做的就是选择ImageView。选择ImageView后,在窗口右侧,您将看到“属性”部分,在那里您将看到属性 Image 。只需单击该 Image 属性,然后选择所需的任何图像,接下来您将看到的是图像已添加到Button中。 enter image description here