Take the 2-minute tour ×

I tested this code in order to create dialog with image.

final int xSize = 400;
final int ySize = 280;
final Color backgroundColor = Color.WHITE;
final String text = "SQL Browser";
final String version = "Product Version: 1.0";

final Stage aboutDialog = new Stage();

Button closeButton = new Button("Close");

closeButton.setOnAction(new EventHandler<ActionEvent>() {
    public void handle(ActionEvent arg0) {

GridPane grid = new GridPane();
grid.setPadding(new Insets(25, 25, 25, 25));

Image img = new Image("logo.png");
ImageView imgView = new ImageView(img);

grid.add(imgView, 0, 0);

grid.add(new Text(text), 0, 1);
grid.add(new Text(version), 0, 2);
grid.add(closeButton, 14, 18);

Scene aboutDialogScene = new Scene(grid, xSize, ySize, backgroundColor);

I placed the image file into the directory /src. But for some reason the image is not displayed. Can you help me to correct my mistake?

share|improve this question
Do you see any problems into the code? –  Peter Penzov Apr 19 '13 at 8:15
Shouldn't the path be "/src/logo.png" if it is in the src folder? –  Perneel Apr 19 '13 at 8:45
add comment

2 Answers

up vote 8 down vote accepted

Simply replace this code:

Image img = new Image("logo.png");

with this

Image img = new Image("file:logo.png");
share|improve this answer
add comment

Try this:

img = new Image("/logo.png");

If no protocol part indicating a URL (as http: or file:) is given, the file is supposed to reside in the default package. If you want it to put in a different package say com.my.images you add this information in a path like manner:

img = new Image("/com/my/images/logo.png");
share|improve this answer
add comment

Your Answer


