2013-02-06 34 views
3

我有一些TextArea元素的GUI來顯示信息。由於GUI將對keyevents做出反應,我在場景元素中添加了一個EventHandler。因爲我不想爲每個textarea添加一個EventHandler,所以我禁用了它們來防止它們聚焦,因爲那時場景的事件處理程序不再工作。現在我遇到了問題,即使我在css文件中更改了文本,文本也顯示爲灰色而不是黑色。你有什麼想法,爲什麼文本不是黑色的,我怎麼能解決這個問題?JavaFX/ScalaFX - 更改禁用TextArea的文本顏色?

下面是一些代碼:

private val scene = 
    new Scene { 
    stylesheets.add("css/style.css") 
    onKeyTyped = (new EventHandler[KeyEvent] { 
     def handle(event: KeyEvent) { 
     ... 
     } 
    }) 
    ... 
} 

private val description = new TextArea{  
    text = "some text" 
    wrapText = true 
    disable = true 
    styleClass.add("txtarea")  
    maxHeight = 400 
} 


.txtarea:disabled{ 
    -fx-font-size: 18pt; 
    -fx-text-fill: #000000; 
    -fx-prompt-text-fill: #000000; 
    -fx-opacity: 1.0; 
    -fx-background-color: white; 
} 

回答

7

您還需要爲嵌入在文本區域滾動窗格中提供樣式:

.txtarea .scroll-pane:disabled{ 
    -fx-opacity: 1.0; 
}