2013-10-13 175 views
2

我需要javaFX中的組合框,其彈出行爲可以控制,就像點擊組合框時一樣,而不是顯示下拉列表的默認行爲,我希望下拉列表顯示在組合框上方顯示在組合框下方)。Javafx組合框樣式

可能嗎? 我們可以用CSS來做到這一點嗎?

感謝您的任何幫助。

+0

我的問題有什麼問題嗎?這是不可理解的嗎?如果需要更多細節,請告訴我。 – Dil

回答

21

我希望這會對你有用。根據您的需要做一些更改

.combo-box .list-cell 
{ 
    -fx-background: white; 
    -fx-background-color: transparent; 
    -fx-text-fill: -fx-text-base-color; 
    -fx-padding: 3 0 2 7; 
    -fx-cell-size: 1.66667em; 
} 

.combo-box-popup .list-view 
{ 
    -fx-background-color: white, white; 
    -fx-background-insets: 0, 1; 
    -fx-effect: dropshadow(three-pass-box , rgba(0,0,0,0.6) , 8, 0.0 , 0 , 0); 
}  

.combo-box-popup .list-view .list-cell 
{ 
    -fx-padding: 4 0 4 5; 

    /* No alternate highlighting */ 
    -fx-background-color: white; 
} 

.combo-box-popup .list-view .list-cell:filled:selected, .combo-box-popup .list-view .list-cell:filled:selected:hover 
{ 
    -fx-background: -fx-accent; 
    -fx-background-color: -fx-selection-bar; 
    -fx-text-fill: -fx-selection-bar-text; 
} 

.combo-box-popup .list-view .list-cell:filled:hover 
{ 
    -fx-background-color: white; 
    -fx-text-fill: -fx-text-inner-color; 
} 

.combo-box-base 
{ 
    -fx-skin: "com.sun.javafx.scene.control.skin.ComboBoxBaseSkin"; 
    -fx-background-color: white, white, white, white; 
    -fx-background-radius: 5, 5, 4, 3; 
    -fx-background-insets: 0 0 -1 0, 0, 1, 2; 
    -fx-padding: 0; 
} 

.combo-box-base:hover 
{ 
    -fx-color: -fx-hover-base; 
} 

.combo-box-base:showing 
{ 
    -fx-color: -fx-pressed-base; 
} 

.combo-box-base:focused { 
    -fx-background-color: -fx-focus-color, -fx-outer-border, -fx-inner-border, -fx-body-color; 
    -fx-background-radius: 6.4, 4, 5, 3; 
    -fx-background-insets: -1.4, 0, 1, 2; 
} 

.combo-box-base:disabled { 
    -fx-opacity: .4; 
}