2017-10-28 136 views
-1

我为此搜索了一下,但找不到任何东西。我知道我可以设计按钮文字,背景颜色等,但我想改变文字本身。JavaFX通过CSS设置按钮文本

这是我试过(当然实际最终的结果是比较复杂的,但是这都行):

Button#playButton { 
    -fx-background-color: #ddd; 
    -fx-text: "Play"; 
} 

背景色被正确应用,但文字不会改变。

编辑:要走的路似乎是一个自定义属性,如果有人拥有该领域内的知识,我会爱一个简明的解释和执行,这可能会救我的试验和错误小时,我发现了几个来源!

+0

不可能的,看到的是https:/ /docs.oracle.com/javase/8/javafx/api/javafx/scene/doc-files/cssref.html#button – fabian

+0

也许某种方式可以通过图标替换代码中的文本集?那就够了,虽然我看不到太多希望:c – Xerus

+0

为什么你要在CSS中设置文本?这不是他按钮“风格”的一部分。 –

回答

0

不,你不能使用css设置你的按钮的文本。但是,嘿!另一方面,你仍然可以使用css在你的按钮中显示一个图标!

你只需要添加到您的CSS:

-fx-graphic : url("relative path to your icon"); 

如果在按钮重复你的图标,然后将其添加为好:

-fx-background-repeat : no-repeat; 
+0

设置图标很简单,但如果图标应替换文本会怎么样?在我看来,这是可能的一个自定义的属性...我必须做更多的研究 – Xerus

+0

你能解释我更进一步吗?你是否有一个默认文本,然后在某个事件(比如MouseClicked事件)中,你需要用一个图标替换文本? –

+0

如果是这种情况,那么也可以使用CSS来实现:Button#playButton:pressed {-fx-graphic:url(); } ...并删除和现有的文本,只需使用按钮,btnName.setText(“”);在一个行动事件,它将与CSS一起工作,并会做你的工作^^ –