我使用的是Java 8.我有工具栏和按钮.
我想实现以下内容:
怎么做通过CSS?
Ita*_*iha 22
使用样式删除背景:
.button {
-fx-background-color: transparent;
}
Run Code Online (Sandbox Code Playgroud)
在悬停时,要恢复所有内容,只需使用以下按钮样式modena.css:
.button:hover{
-fx-background-color: -fx-shadow-highlight-color, -fx-outer-border, -fx-inner-border, -fx-body-color;
-fx-background-insets: 0 0 -1 0, 0, 1, 2;
-fx-background-radius: 3px, 3px, 2px, 1px;
-fx-padding: 0.333333em 0.666667em 0.333333em 0.666667em; /* 4 8 4 8 */
-fx-text-fill: -fx-text-base-color;
-fx-alignment: CENTER;
-fx-content-display: LEFT;
}
Run Code Online (Sandbox Code Playgroud)
我同意 netzwerg。如果您将 fxml 与 javafx 一起使用,那么您应该在控制器类的 initialize() 方法中包含这些代码行。
控制器类示例:
public class Controller implements Initializable{
private Button test;
private static final String IDLE_BUTTON_STYLE = "-fx-background-color: transparent;";
private static final String HOVERED_BUTTON_STYLE = "-fx-background-color: -fx-shadow-highlight-color, -fx-outer-border, -fx-inner-border, -fx-body-color;";
@Override
public void initialize(URL location, ResourceBundle resources) {
button.setStyle(IDLE_BUTTON_STYLE);
button.setOnMouseEntered(e -> button.setStyle(HOVERED_BUTTON_STYLE));
button.setOnMouseExited(e -> button.setStyle(IDLE_BUTTON_STYLE));
}
}
Run Code Online (Sandbox Code Playgroud)
背景透明度可以通过鼠标监听器来控制,即通过以编程方式设置 CSS(这减少了对外部样式表的需要):
final String IDLE_BUTTON_STYLE = "-fx-background-color: transparent;";
final String HOVERED_BUTTON_STYLE = "-fx-background-color: -fx-shadow-highlight-color, -fx-outer-border, -fx-inner-border, -fx-body-color;";
button.setStyle(IDLE_BUTTON_STYLE);
button.setOnMouseEntered(e -> button.setStyle(HOVERED_BUTTON_STYLE));
button.setOnMouseExited(e -> button.setStyle(IDLE_BUTTON_STYLE));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26874 次 |
| 最近记录: |