2014-10-20 200 views
0

我有一个关于JavaFx按钮的问题。 在下面的代码中,我将一个Button添加到HBox中。调整按钮大小JavaFX

ivTriangleImg.setFitHeight(16); 
ivTriangleImg.setFitWidth(16); 
ivTriangleImg.setRotate(iRotateCoord1); 
btnTriangle.setGraphic(ivTriangleImg); 
btnTriangle.setStyle("-fx-background-color:green;"); 
addComponentToBox(btnTriangle); 

Button获取图形 - >图形是一个透明的三角形,大小为16x16像素。 问题是,按钮没有大小16x16它是如此之多。我怎样才能让按钮变小和Pictur必须具有相同的尺寸?

回答

1

为JavaFX 8使用

btnTriangle.setPadding(Insets.EMPTY); 

为JavaFX 2使用

btnTriangle.setStyle("-fx-padding: 0;"); 

但是你可以直接把图像视图到现场,而不是将其设置到该按钮的图形,并添加监听你想要:

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

    @Override 
    public void handle(MouseEvent event) { 
     // do something 
    } 
}); 
+0

感谢您的快速答案。问题是,没有函数像setPadding的btnTriangle ... 我用户JavaFX 7 – 2014-10-20 07:23:53

+0

@LukasHieronimusAdler,请参阅更新。 – 2014-10-20 07:35:43

0

我加了你的代码,它工作得很好。我做了一点点不同:

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