Button 调整按钮JavaFX的大小

Button 调整按钮JavaFX的大小,button,javafx,resize,size,Button,Javafx,Resize,Size,我有一个关于JavaFx按钮的问题。 在下面的代码中,我在HBox中添加了一个按钮 ivTriangleImg.setFitHeight(16); ivTriangleImg.setFitWidth(16); ivTriangleImg.setRotate(iRotateCoord1); btnTriangle.setGraphic(ivTriangleImg); btnTriangle.setStyle("-fx-background-color:green;"); addComponentT

我有一个关于JavaFx按钮的问题。 在下面的代码中,我在HBox中添加了一个按钮

ivTriangleImg.setFitHeight(16);
ivTriangleImg.setFitWidth(16);
ivTriangleImg.setRotate(iRotateCoord1);
btnTriangle.setGraphic(ivTriangleImg);
btnTriangle.setStyle("-fx-background-color:green;");
addComponentToBox(btnTriangle);
按钮获取一个图形->该图形是一个大小为16x16像素的透明三角形。 问题是,按钮的大小不是16x16,而是更多。我如何才能使按钮变小,并且图片必须具有相同的大小?

用于JavaFX8

btnTriangle.setPadding(Insets.EMPTY);
用于JavaFX2

btnTriangle.setStyle("-fx-padding: 0;");
但是,您可以直接将图像视图放置到场景中,而不是将其设置到按钮的图形中,并添加所需的侦听器:

ivTriangleImg.setOnMouseClicked(new EventHandler<MouseEvent>() {

    @Override
    public void handle(MouseEvent event) {
        // do something
    }
});
ivTriangleImg.setOnMouseClicked(新的EventHandler(){
@凌驾
公共无效句柄(MouseeEvent事件){
//做点什么
}
});
用于JavaFX8

btnTriangle.setPadding(Insets.EMPTY);
用于JavaFX2

btnTriangle.setStyle("-fx-padding: 0;");
但是,您可以直接将图像视图放置到场景中,而不是将其设置到按钮的图形中,并添加所需的侦听器:

ivTriangleImg.setOnMouseClicked(new EventHandler<MouseEvent>() {

    @Override
    public void handle(MouseEvent event) {
        // do something
    }
});
ivTriangleImg.setOnMouseClicked(新的EventHandler(){
@凌驾
公共无效句柄(MouseeEvent事件){
//做点什么
}
});
用于JavaFX8

btnTriangle.setPadding(Insets.EMPTY);
用于JavaFX2

btnTriangle.setStyle("-fx-padding: 0;");
但是,您可以直接将图像视图放置到场景中,而不是将其设置到按钮的图形中,并添加所需的侦听器:

ivTriangleImg.setOnMouseClicked(new EventHandler<MouseEvent>() {

    @Override
    public void handle(MouseEvent event) {
        // do something
    }
});
ivTriangleImg.setOnMouseClicked(新的EventHandler(){
@凌驾
公共无效句柄(MouseeEvent事件){
//做点什么
}
});
用于JavaFX8

btnTriangle.setPadding(Insets.EMPTY);
用于JavaFX2

btnTriangle.setStyle("-fx-padding: 0;");
但是,您可以直接将图像视图放置到场景中,而不是将其设置到按钮的图形中,并添加所需的侦听器:

ivTriangleImg.setOnMouseClicked(new EventHandler<MouseEvent>() {

    @Override
    public void handle(MouseEvent event) {
        // do something
    }
});
ivTriangleImg.setOnMouseClicked(新的EventHandler(){
@凌驾
公共无效句柄(MouseeEvent事件){
//做点什么
}
});

我添加了您的代码,它运行得非常好。我做的有点不同:

        btnTriangle.setStyle("-fx-background-color:transparent;-fx-padding:0;-fx-background-size:0;");

我添加了你的代码,效果非常好。我做的有点不同:

        btnTriangle.setStyle("-fx-background-color:transparent;-fx-padding:0;-fx-background-size:0;");

我添加了你的代码,效果非常好。我做的有点不同:

        btnTriangle.setStyle("-fx-background-color:transparent;-fx-padding:0;-fx-background-size:0;");

我添加了你的代码,效果非常好。我做的有点不同:

        btnTriangle.setStyle("-fx-background-color:transparent;-fx-padding:0;-fx-background-size:0;");

谢谢你的快速回答。问题是,btnTriangle没有像setPadding这样的函数。。。感谢您的快速回答。问题是,btnTriangle没有像setPadding这样的函数。。。感谢您的快速回答。问题是,btnTriangle没有像setPadding这样的函数。。。感谢您的快速回答。问题是,btnTriangle没有像setPadding这样的函数。。。I用户javafx7