2013-04-22 70 views
0

我有各种加载了图像的切换按钮。按钮大小由图像大小决定,按钮本身由JavaCode创建。有几个按钮在左侧或右侧都有图标(图标只是加载图像的一部分)。在具有偏移量的按钮上居中文本

如何将文本移动到左侧或右侧的某个值,以便我可以将文本重新居中但与图标的偏移量一致?我不介意将图标的宽度作为参数传递,但我无法找到任何将文本移动一定数量的内容。

enter image description here

该按钮从绿色图像创建的,右边的图标是它的一部分;总宽度为300,图标为100;文本应该集中在剩余的200页。由于语言设置的原因,文本本身不能成为图片的一部分。

回答

0

您可以设置按钮的样式如下:

// top right bottom left 
btn.setStyle("-fx-padding: 5px 5px 5px 5px;"); 

编辑:
可以使用与HBox:

HBox hbox = new HBox(); 
// the text of the "button" 
Label lbl_txt = new Label("Text"); 
// the icon of the "button", i am using Labels for icon(with css) 
Label lbl_ico = new Label("ico"); 
hbox.getChildren().addAll(lbl_txt, lbl_ico); 
hbox.setOnMouseClicked(new EventHandler<MouseEvent>() { 
    @Override 
    public void handle(MouseEvent t) { 
     // alternative to Button click 
    } 
}); 

其他一切与CSS样式。 ;-)

+0

这不会工作,它抵消了整个按钮,而不仅仅是它的文本(不仅抵消了位置,而且点击能够区域) – Zibelas 2013-04-22 12:21:58

+0

好的,这不是我的问题。 你能否提供任何形式的示例或截图? – Kalaschni 2013-04-22 13:27:34

+0

好吧,这可以作为最后一个最后的解决方法,但我更反对它,因为 - 被迫使用3个组件而不是一个简单的作为放置文本 - 我也必须实现正常的按钮行为用于点击事件(如按下状态切换按钮) – Zibelas 2013-04-23 11:01:42