css - 使用 CSS 在 JavaFX 中为 TextField 创建形状

标签 css javafx javafx-2 javafx-8 javafx-3d

我需要使用 CSS 为 TextField 创建这个形状

Sample Pic

但我只设法创建了以下 UI:

My Pic

如何创建像示例图片这样的文本字段?

最佳答案

使用Region-fx-shape属性指定 SVG path .

.login-box {
    -fx-spacing: -15;
    -fx-fill-height: false;
}

.login-box > .button {
    -fx-shape: "M0,1 L1,0 L2,1 L1,2 Z";
    -fx-min-width: 60;
    -fx-max-width: 60;
    -fx-min-height: 60;
    -fx-max-height: 60;
}

.login-box > .textfield-container {
    -fx-spacing: 8;
}

.login-box > .textfield-container > .text-field {
    -fx-shape: "M200,0 H0 V30 H170 Z";
}

.login-box > .textfield-container > .password-field {
    -fx-shape: "M170,0 H0 V30 H200 Z";
}

.login-box > .textfield-container > .text-field, .login-box > .textfield-container > .password-field {
    -fx-min-width: 200;
    -fx-max-width: 200;
    -fx-min-height: 30;
    -fx-max-height: 30;
    -fx-padding: 4 30 4 8;
}

两个 SVG 路径都从右上角 (M200,0/M170,0) 开始,然后绘制到左上角 ( H0),继续向下绘制到左下角(V30),然后绘制到右下角(V170/V200 code>) 并最终关闭路径 (Z)。

查看结构:

login-box                                (HBox)
    |---- textfield-container            (VBox)
    |         |--- text-field            (TextField)
    |         |--- password-field        (PasswordField)
    |
    |---- button                         (Button)

关于css - 使用 CSS 在 JavaFX 中为 TextField 创建形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36764271/

相关文章:

html - 为什么 Internet Explorer 8 会打印不可见的内容?

css - 使用 CSS,如何设计通用的全局样式?

java - 如何获取场景的新坐标

multithreading - 如何避免不在 FX 应用线程上; currentThread = JavaFX 应用程序线程错误?

html - 如何让 DIV 的背景颜色铺满整个屏幕

html - 以内容作为图像链接和重叠关闭按钮的 Bootstrap 模式 - 如何专注于关闭按钮

java - 将数据库中的值填充到 javafx 中的 ObservableList

java - 终止属性监听器中的线程 (JavaFX 8)

css - JavaFX 2.2 - 在 ListCell 中隐藏 progressIndicator 的百分比

java - 如何使用 javafx ant 任务指定 jnlp 代码库?