【问题标题】:How to remove innser shadow in Text field如何去除文本字段中的内阴影
【发布时间】:2016-12-04 06:57:36
【问题描述】:

我想去掉TextField中的内阴影。

这里是css。

-fx-font-size: 12px;
-fx-font-family: "Segoe UI Semibold";
-fx-pref-width:250px;
-fx-pref-height:35px;
-fx-background-radius:0px;

【问题讨论】:

标签: javafx


【解决方案1】:

尝试添加这一行:

-fx-background-color: -fx-text-box-border, -fx-control-inner-background;

【讨论】:

  • 这些技巧是从哪里学来的?我真的很想成为 Java、JavaFX、Java EE 方面的专业人士。现在在 JavaFX 工作.. 你能给我参考一下我可以在哪里成为 JavaFX 专业人士吗?意思是想学习所有与JavaFX相关的东西,可以给我参考吗?
  • @UnKnown 我刚刚编译了cssGuidecaspianmodena
  • 惊人的链接..!!这些链接是否足以成为 JavaFX CSS 的专业人士?如果您有更多链接(也描述了详细信息),请给我。
  • @UnKnown + pseudoClasscssUtilities 以及更多谷歌内容:)
  • 我真的在日夜学习。但是当我没有什么可阅读或无法找到确切的来源时,我就卡住了。你很棒。这些对我有帮助。
【解决方案2】:

问题是它不是影子。这是一个特别装饰的背景。因此,使其透明或放置其值透明的键会很好。

.text-field {
    -fx-text-box-border: transparent;
    -fx-background-color: transparent;
 }

 .text-field:focused {
     -fx-faint-focus-color: transparent; /*JavaFX 8*/
     -fx-focus-color: transparent; /*JavaFX 2.2*/
 }

上面的样式代码(style.css) 会生成一个没有任何边框和背景的文本字段,并使其清晰。顺便说一下,在 -fx-background-color 中放置 -fx-border-color 或 -fx-faint-color 而不是 transparent 完全没问题,因为它们的值是透明的。

编辑:我现在添加一个小示例代码。

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.shape.Rectangle;
import javafx.scene.control.TextField;
import javafx.scene.paint.Color;
import javafx.scene.layout.Pane;

public class TextFieldDemo extends Application {

    public void start(Stage primaryStage) {
        TextField textField = new TextField();
        textField.setPromptText("TextField");
        textField.setMaxWidth(100);
        textField.setLayoutX(50);
        textField.setLayoutY(25);
        textField.setFocusTraversable(false);
        Rectangle background = new Rectangle(40, 20, 120, 40);
        background.setStyle("-fx-arc-width: 40px; -fx-arc-height: 40px;-fx-fill: yellow;");
        Scene scene = new Scene(new Pane(background, textField), 200, 80);
        scene.getStylesheets().add("style.css");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

示例输出: Example Image

【讨论】:

    猜你喜欢
    • 2012-09-29
    • 2012-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-24
    • 2012-10-28
    相关资源
    最近更新 更多