2015-10-26 66 views
1

我想改变颜色后得到一个正常的文本字段。薪水和工资是我改变它的红色文本字段。投资收入是我的努力使其恢复正常,总收入是我想要获得的文本字段,我将颜色更改为红色。如何在更改文本字段颜色后获得正常的JavaFX文本字段?

这是我用于颜色变化的代码。任何帮助将非常感激。

tfTotalPaymentOverLife.textProperty().addListener((ob, oldValue, newValue) -> { 
     if (isNumeric(newValue)) { 
      tfTotalPaymentOverLife.setStyle("-fx-background-color: transparent;"); 
     } else { 
      tfTotalPaymentOverLife.setStyle("-fx-background-color: red;"); 

     } 
    }); 

Hello

回答

3

您可以使用CSS -fx-control-inner-background绘制文本字段的内部背景。

你可以期望的背景色设置为这个属性或返回到默认的颜色使用setStyle("")

代码:

textField.textProperty().addListener((ob, oldValue, newValue) -> { 
    if (isNumeric(newValue)) { 
     textField.setStyle(""); 
    } else { 
     textField.setStyle("-fx-control-inner-background: red"); 
    } 
}); 
+0

或者只是'textField.setStyle(“”);',它将恢复到用户代理样式表(即modena)中定义的任何值。 :)。 –

+0

@James_D这真的很有用。谢谢 ! :) – ItachiUchiha