Pet*_*zov 11 java javafx javafx-2
我测试了这段代码,以便创建带图像的对话框.
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();
aboutDialog.initModality(Modality.WINDOW_MODAL);
Button closeButton = new Button("Close");
closeButton.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent arg0) {
aboutDialog.close();
}
});
GridPane grid = new GridPane();
grid.setAlignment(Pos.CENTER);
grid.setHgap(10);
grid.setVgap(10);
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);
aboutDialog.setScene(aboutDialogScene);
aboutDialog.show();
Run Code Online (Sandbox Code Playgroud)
我将图像文件放入目录中/src.但由于某种原因,图像不会显示.你能帮我改正一下吗?
Kal*_*hni 46
只需替换此代码:
Image img = new Image("logo.png");
Run Code Online (Sandbox Code Playgroud)
有了这个
Image img = new Image("file:logo.png");
Run Code Online (Sandbox Code Playgroud)
小智 16
试试这个:
img = new Image("/logo.png");
Run Code Online (Sandbox Code Playgroud)
如果没有给出指示URL(如http:或file :)的协议部分,则该文件应该驻留在默认包中.如果你想让它放在一个不同的包中,请说com.my.images你可以在路径中添加这些信息:
img = new Image("/com/my/images/logo.png");
Run Code Online (Sandbox Code Playgroud)
Image img = new Image("file:/logo.png");
Run Code Online (Sandbox Code Playgroud)
或路径:
Image img = new Image("file:c:/logo.png");
Run Code Online (Sandbox Code Playgroud)
要么
File f = new File("c:\\logo.png");
Image img = new Image(f.toURI().toString());
Run Code Online (Sandbox Code Playgroud)
也可以用:
new Image(file:src/logo.png) //root of project
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
66077 次 |
| 最近记录: |