JavaFX按钮有透明背景

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

我需要没有那个盒子的按钮,只需要文本,当我hover按钮或用鼠标点击按钮时,它应该将颜色改变为不同的颜色。

在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具有Hyperlink控件 ,它基本上具有您正在寻找的所有function。 它以与按钮相同的方式触发ActionEvent

 Hyperlink button = new Hyperlink("Some text"); button.setOnAction(e -> System.out.println("Hyperlink clicked")); 

就像网页中的链接一样,如果已经“访问”,它将以不同的颜色显示,即如果已对其进行了操作。