2013-10-06 90 views
2

我想有三個不同的邊框的文本框爲三種情況:的JavaFX - 使用文本字段將焦點設置邊框CSS

  • 白色邊框不徘徊或集中
  • 灰色邊框時徘徊
  • 藍色邊框突出重點,鍵入

當我開始是這樣的:

#custom-text-field { 
    -fx-border-width: 2; 
    -fx-border-color: white; 
} 

#custom-text-field:hover{ 
    -fx-border-width: 2; 
    -fx-border-color: #909090; 
} 

#custom-text-field:focused{ 
    -fx-border-width: 2; 
    -fx-border-color: #0093EF; 
} 

問題是聚焦的邊框從不出現。它如何正確設置?

+0

做其它CSS選擇器按預期工作? –

+0

標準和懸停樣式按預期工作。 – user1406177

+0

當文本字段有焦點時,您是否仍然看到默認的藍色焦點突出顯示?你可能想嘗試使用「-fx-focus-color」。 – Brendan

回答

0

我使用這樣的

.custom-text-field { 
    -fx-background-color: 
     #FFFFFF, 
     #FFFFFF; 
    -fx-background-insets: 0, 2; 
    -fx-background-radius: 0, 0; 
} 

.custom-text-field:focused { 
    -fx-background-color: 
     #0093EF, 
     #FFFFFF; 
} 

.custom-text-field:hover { 
    -fx-background-color: 
     #909090, 
     #FFFFFF; 
} 

.custom-text-field:focused:hover { 
    -fx-background-color: 
     #0093EF, 
     #FFFFFF; 
} 
+0

我不認爲'background-color'設置'border'! –

+1

@lulian -fx-background-insets在.custom-text-field類中定義,僞類爲懸停,聚焦和懸停+聚焦做顏色處理。 –

+0

你救了我的一天冠軍 –