我在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/

10-13 04:09