2014-07-11 32 views

cevap

9

TextField for JavaFX 8 gibi metin giriş kontrolleri için CSS stilleri, aşağıdaki gibi modena.css stil sayfasında tanımlanmıştır. Özel bir CSS stil sayfası oluşturun ve renkleri istediğiniz gibi değiştirin. Sözdizimini ve kullanılabilir öznitelikleri ve değerleri anlama konusunda yardıma ihtiyacınız varsa CSS reference guide'u kullanın. Harici bir stil kullanarak stil yapmak için tercih edilen bir yol olmakla birlikte

.text-input { 
    -fx-text-fill: -fx-text-inner-color; 
    -fx-highlight-fill: derive(-fx-control-inner-background,-20%); 
    -fx-highlight-text-fill: -fx-text-inner-color; 
    -fx-prompt-text-fill: derive(-fx-control-inner-background,-30%); 
    -fx-background-color: linear-gradient(to bottom, derive(-fx-text-box-border, -10%), -fx-text-box-border), 
     linear-gradient(from 0px 0px to 0px 5px, derive(-fx-control-inner-background, -9%), -fx-control-inner-background); 
    -fx-background-insets: 0, 1; 
    -fx-background-radius: 3, 2; 
    -fx-cursor: text; 
    -fx-padding: 0.333333em 0.583em 0.333333em 0.583em; /* 4 7 4 7 */ 
} 
.text-input:focused { 
    -fx-highlight-fill: -fx-accent; 
    -fx-highlight-text-fill: white; 
    -fx-background-color: 
     -fx-focus-color, 
     -fx-control-inner-background, 
     -fx-faint-focus-color, 
     linear-gradient(from 0px 0px to 0px 5px, derive(-fx-control-inner-background, -9%), -fx-control-inner-background); 
    -fx-background-insets: -0.2, 1, -1.4, 3; 
    -fx-background-radius: 3, 2, 4, 0; 
    -fx-prompt-text-fill: transparent; 
} 

, aşağıda gibi bir şey kullanarak, satır içi stil ekleyebilirsiniz:

textField.setStyle("-fx-text-inner-color: red;"); 
+0

ben Renk nesnesi var. Bunu kullanarak metin alanı rengini nasıl değiştirebilirim? – alhelal

+1

@alhelal Buradaki yöntemi kullanarak renk nesnesini bir dizgeye dönüştürün: [JavaFX ColorPicker renginden hex web String nasıl alınır?] (Https://stackoverflow.com/questions/17925318/how-to-get-hex-web -string-from-javafx-colorpicker-color), daha sonra türetmiş olduğunuz dizgeye rengini ayarlayın: textField.setStyle ("- fx-text-internal-color:" + colorString + ";"); ' – jewelsea

19

benim için -fx-text-fill eser ayarlama.

aşağıya bakın:

if (passed) { 
    resultInfo.setText("Passed!"); 
    resultInfo.setStyle("-fx-text-fill: green; -fx-font-size: 16;"); 
} else { 
    resultInfo.setText("Failed!"); 
    resultInfo.setStyle("-fx-text-fill: red; -fx-font-size: 16;"); 
} 
İlgili konular