textarea - JavaFX/ScalaFX - 更改禁用 TextArea 的文本颜色?

标签 textarea javafx scalafx

我有一个带有一些 TextArea 元素的 GUI 来显示信息。由于 GUI 将对 keyevents 使用react,因此我在场景元素中添加了一个 EventHandler。因为我不想为每个文本区域添加一个 EventHandler,所以我禁用了它们以防止它们被聚焦,因为这样场景的事件处理程序就不再工作了。现在我遇到了问题,文本显示为灰色,而不是黑色,即使我在 css 文件中更改了它。你有什么想法为什么文本不是黑色的,我该如何解决这个问题?

这里有一些代码:

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;  
}

最佳答案

您还需要为嵌入在 TextArea 中的滚动 Pane 提供样式:

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

关于textarea - JavaFX/ScalaFX - 更改禁用 TextArea 的文本颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14726070/

相关文章:

html - 这个文本区域周围的额外空间在哪里?

javafx - Tornadofx tableview 同步两个表

scala - Windows 上的 jpackage : The system cannot find file, 错误 103

scala - 如何从 Scala 启动 ScalaFX 应用程序?

php - {textarea} 聪明的 php

html - Firefox 缓存 textarea 值?

html - 柔性 : Textarea height worked in Chrome but not Safari

javafx - 如何在javafx中画一条开放的圆弧?

java - 在 javafx 中创建图像缩略图

java - 无法在新场景中移动 TextFlow