J.e*_*ome 5 java javafx image button
我在学校使用 JavaFX,当我单击按钮时,我需要在按钮上显示图片。我的问题是图像比按钮大,然后一切都很糟糕。我看过很多关于如何将图像适合按钮的帖子,我附带了该代码
Image imageOk = new Image(getClass().getResourceAsStream("/TP2/ressources/flag.png"));
ImageView img = new ImageView(imageOk);
img.setFitWidth(100);
img.setFitHeight(100);
btn.setGraphic(img);
Run Code Online (Sandbox Code Playgroud)
当我创建我使用的按钮时setPrefSize(50, 50);
您可以使用ImageView 的fitWidthProperty和并将它们绑定到按钮的和:fitHeightPropertywidthPropertyheightProperty
img.fitWidthProperty().bind(btn.widthProperty());
img.fitHeightProperty().bind(btn.heightProperty());
Run Code Online (Sandbox Code Playgroud)
这将导致 ImageView 每次都具有与按钮相同的大小。
这可能会导致图像被拉伸。为了防止这种情况,您可以setPreserveRatio在图像上使用:
img.setPreserveRatio(true);
Run Code Online (Sandbox Code Playgroud)
这是完整的示例代码:
Button btn = new Button();
btn.setPrefSize(50, 50);
Image imageOk = new Image(getClass().getResourceAsStream("yes.png"));
ImageView img = new ImageView(imageOk);
img.setPreserveRatio(true);
img.fitWidthProperty().bind(btn.widthProperty());
img.fitHeightProperty().bind(btn.heightProperty());
btn.setGraphic(img);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2635 次 |
| 最近记录: |