3

为什么不能在按钮内的图像左侧#todo添加填充?

在此处输入图像描述

.button {           
    -fx-background-size: 18 18;
    -fx-background-repeat: no-repeat;       
    -fx-background-position:left;   
    -fx-padding:20;
    /* same as -fx-label-padding:20; */
}

#todo {
    -fx-background-image: url("../images/Knob Add.png");
}
4

1 回答 1

3

不要使用背景向按钮添加图像,而是在按钮上设置图形。

#todo .button {           
    -fx-padding: 20px;
    -fx-graphic: url("http://icons.iconarchive.com/icons/martz90/circle-addon1/16/text-plus-icon.png"); 
     /* Icon License: CC Attribution-Noncommercial-No Derivate 3.0 http://www.iconarchive.com/show/circle-addon1-icons-by-martz90/text-plus-icon.html*/
}

软糖

背景和边距的背景信息

背景覆盖了一个区域的整个背景,包括填充区域,因此您无法使用填充来定位背景。背景也比使用 css 的样式和配置比图形更棘手(正如您所发现的......)。您可以通过设置 -fx-background-position 属性并调整填充以允许背景图像的背景区域来获得所需的近似值,以便您的按钮文本内容不会覆盖背景。但是,当它可以使用图形以更直接的方式完成时,它是繁琐且不值得的。

我记得开发人员之间关于添加边距属性的一些对话。如果添加了这样的属性,背景不会溢出到边缘,而是被它封装。但是,Java 7 中没有这样的属性,

相关问题

JavaFX - 使用图像创建自定义按钮

于 2013-05-31T19:29:18.993 回答