具有透明背景的 JavaFX 按钮

标签 java button javafx fxml

我在 JavaFX 中有一些经典的 Button,带有一个包含一些文本的框。

我需要没有那个框的按钮,只有文本,当我将鼠标悬停在按钮上或用鼠标单击按钮时,它会将其颜色更改为不同。

最佳答案

在 JavaFX 中,样式是通过使用 CSS 完成的。

.button{
    -fx-border-color: transparent;
    -fx-border-width: 0;
    -fx-background-radius: 0;
    -fx-background-color: transparent;
    -fx-font-family:"Segoe UI", Helvetica, Arial, sans-serif;
    -fx-font-size: 1em; /* 12 */
    -fx-text-fill: #828282;
}

.button:focused {
    -fx-border-color: transparent, black;
    -fx-border-width: 1, 1;
    -fx-border-style: solid, segments(1, 2);
    -fx-border-radius: 0, 0;
    -fx-border-insets: 1 1 1 1, 0;
}

.button:pressed {
    -fx-background-color: black;
    -fx-text-fill: white;
}

将此代码添加到 CSS 文件,将其保存到包含按钮的控件源文件所在的目录。然后在这个类中:

getStylesheets().add(getClass().getResource("nameofyourcssfile.css").toExternalForm());

然后该对象包含的所有按钮都将使用此样式类。

根据您的需要进行修改非常简单。

很好的入门教程: http://docs.oracle.com/javafx/2/css_tutorial/jfxpub-css_tutorial.htm

关于具有透明背景的 JavaFX 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36566197/

相关文章:

java - 无法使用 Maven 编译简单的 Java 10/Java 11 项目

java - 想要将进程转换为多线程进程

android - 在某个时候声音停止工作

html - 如何设置图片下方的按钮?

JavaFX - BorderPane/StackPane 在 child 改变后不调整大小

java - android:onClick="@drawable/... 不更新按钮 onClick

java - 从 SOAP 响应中获取 HTTP 状态代码

android - 在android中滚动点击下一步和后退按钮

javafx - 如何在javafx中重置效果?

css - 从 CSS 在 JavaFX8 中添加光照效果