使javafx textArea的背景清晰

时间:2015-06-01 00:53:25

标签: java javafx textarea

我在java中查看整个文本区域类,我打算在我正在制作的酷炫GUI中使用它,但是,当我想要使背景清晰时,我唯一能找到的是一种方法,允许您设置不透明度。但这是整个文本区域(包括文本)我想要的背景清除。任何建议/提示

我所做的所有谷歌搜索都提出了很多与css相关的帖子吗?

1 个答案:

答案 0 :(得分:4)

TextArea内部包含滚动窗格。要使文本区域显示透明所需的三件事是

  1. 文本区域iteself
  2. 文本区域内部滚动窗格的视口
  3. 显示滚动窗格内文本的内容窗格
  4. CSS规则是

    .text-area, .text-area .viewport, .text-area .content {
        -fx-background-color: transparent ;
    }
    

    完整示例:

    TransparentTextArea.java:

    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.TextArea;
    import javafx.scene.layout.StackPane;
    import javafx.stage.Stage;
    
    public class TransparentTextArea extends Application {
    
        @Override
        public void start(Stage primaryStage) {
            TextArea textArea = new TextArea();
            StackPane root = new StackPane(textArea);
            Scene scene = new Scene(root, 400, 400);
            scene.getStylesheets().add("transparent-text-area.css");
            primaryStage.setScene(scene);
            primaryStage.show();
        }
    
        public static void main(String[] args) {
            launch(args);
        }
    }
    

    透明文本area.css:

    .root {
        -fx-background-color: linear-gradient(to bottom right, white 0%, cornflowerblue 100% );
    
    }
    
    .text-area, .text-area .viewport, .text-area .content {
        -fx-background-color: transparent ;
    }
    

    enter image description here