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