2014-01-30 20 views

回答

1

你檢查了this了嗎?嘗試是這樣的:

.combo-box .list-view { 
    -fx-font-size: xxxx; 
} 

您可能需要指定附加屬性/和或額外的選擇,以達到預期的效果(例如-fx-cell-size)。請參閱caspian.css中的相關章節(位於JRE的lib文件夾中的jfxrt.jar內部)。

6

如果您只想更改提示文本的大小,而不是其他文本,我不認爲有任何方法:文本節點中根本沒有掛鉤提示文本,以區別於顯示的文本節點文本。

您可以通過一個特殊的CSS屬性改變顏色:

.combo-box .text-field { 
    -fx-prompt-text-fill: rgba(255, 0, 0, 0.5) ; 
} 
.combo-box .text-field:focused { 
    -fx-prompt-text-fill: transparent ; 
} 

,但我沒有看到任何方式更改任何其他樣式屬性。

+1

您確定此樓盤適用於組合框嗎?我似乎無法使它工作(JDK 7,Scene Builder 1.1)。我有一個帶有多個TextFields和2個ComboBox的窗體。即使我用「.text-field {-fx-prompt-text-fill:rgba(255,0,0,0.5);}」添加一個單獨的css文件,所有文本字段提示都會變成紅色,但組合框提示保持黑色。 –

+0

是的,在JDK 7和JDK 8上均經過測試。您可能需要在您的css文件中明確包含'.combo-box .text-field {...}'。 –

+2

好的謝謝 - 是的,我嘗試過,還有很多其他的組合。不適合我 - 奇怪。 –

0
ComboBox<String> comboBox= new ComboBox<String>(); 
comboBox.setPromptText("Text"); 

comboBox.setButtonCell(new ListCell<String>(){ 
      @Override 
      protected void updateItem(String item, boolean empty) { 
       super.updateItem(item, empty); 
       setStyle("-fx-font-size: 17.0"); 
       if(!(empty || item==null)){ 
        setText(item.toString()); 
       } 
      } 
     }); 
+0

雖然這個代碼片段是受歡迎的,並且可以提供一些幫助,但它會[如果包括解釋](/ meta.stackexchange.com/q/114762)*如何*和*爲什麼*會大大改進問題。請記住,你正在爲將來的讀者回答這個問題,而不僅僅是現在問的人!請編輯您的答案以添加解釋,並指出適用的限制和假設。 –

0

就在你的CSS

.combo-box-base .text{ -fx-fill: rgb(130.0, 130.0, 130.0); }

0

使用曉暉

.combo-box .list-cell { 
    -fx-font-size: xxxx; 
} 
0

一個黑客攻擊的一點正如詹姆斯d表示添加以下代碼這片特定的代碼工作只有條件

.combo-box .text-field { 
    -fx-prompt-text-fill: rgba(255, 0, 0, 0.5) ; 
} 
.combo-box .text-field:focused { 
    -fx-prompt-text-fill: transparent ; 
} 

但只有當您活動可編輯您的組合框的屬性。

如果添加

.combo-box-base .text

它將應用甚至爲你的組合框

的元素,如果你不想讓你的組合框編輯了JavaFx沒有考慮到這一點。我認爲你必須通過添加僞類來管理它自己和自己激活它...

或者把你的組合框可編輯,但禁止鍵盤

否則你將不得不採取另一種組合框從另一個界面框架

這些解決方案是解決方法而不是最終的解決方案,我希望JavaFx開發人員將改善這一點。

相關問題