2015-06-08 35 views
0

我想要選取顏色並更改按鈕的背景顏色。如何將JavaFX變量傳遞給CSS樣式?

private void handleItemBackAction(ActionEvent eve) 
{ 
      System.out.println("You clicked Set Background Color of Item!");  

     java.awt.Color color=JColorChooser.showDialog(null,"Select a color",java.awt.Color.CYAN); 

     String hex = Integer.toHexString(color.getRGB() & 0xffffff); 

     hex="#"+hex; 
     Text.setText(hex); 
     ShortcutButton.setStyle("-fx-background-color: hex;"); 
    } 

回答

1

儘量把變量的內容價值,而不是它的名字:

ShortcutButton.setStyle("-fx-background-color: " + hex + ";"); 
0

您的十六進制變量您想要的顏色。

if (!buttonColor.getStyle().trim().contains("-fx-background-color:" +hex)){ 
    buttonColor.setStyle("-fx-background-color: " + hex + ";"); 
} 
+0

如果有樣式「-fx - ** border ** - color:hex;」會怎麼樣? –

+0

你是對的 - 要麼檢查整個屬性,要麼完全跳過這個檢查。 –