java - 用于文本输入/javafx 的矩形光标

标签 java javafx

我想使用javafx实现文本输入。光标看起来像一个黑色矩形(适合视力不佳的人)。对于文本区域或文本字段来说这似乎是不可能的。鼠标形状可以是例如箭头。你能给出实现这个功能的想法吗?

最佳答案

enter image description here
这是完整的示例

import com.sun.javafx.scene.control.skin.TextFieldSkin;
    import javafx.application.Application;
    import javafx.geometry.Insets;
    import javafx.scene.Scene;
    import javafx.scene.control.TextField;
    import javafx.scene.layout.VBox;
    import javafx.scene.paint.Color;
    import javafx.stage.Stage;

    public class CaretColorizer extends Application {

        @Override
        public void start(Stage stage) throws Exception {
            TextField redCaretTextField = new TextField("Big black caret");
            redCaretTextField.setSkin(
                    new TextFieldCaretControlSkin(
                            redCaretTextField,
                            Color.RED
                    )
            );

            VBox layout = new VBox(10, redCaretTextField);

            layout.setPadding(new Insets(10));
            stage.setScene(new Scene(layout));

            stage.show();
        }

        public class TextFieldCaretControlSkin extends TextFieldSkin {
            public TextFieldCaretControlSkin(TextField textField, Color caretColor) {
                super(textField);


                caretPath.strokeProperty().unbind();
                caretPath.fillProperty().unbind();
                caretPath.setStrokeWidth(10);
                caretPath.setStroke(Color.BLACK);
                caretPath.setFill(Color.BLACK);
            }
        }

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

关于java - 用于文本输入/javafx 的矩形光标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47875801/

相关文章:

java - 初学者通过数组搜索

java - 将变量及其值添加到 Java GUI

java - 如何将字符串中的整数相加? java

Desktop.open(file)、Desktop.browse(uri) 上的 JavaFX 卡住

SceneBuilder 中的 JavaFx StackPane,如何在不设置禁用其他面板可见性的情况下仅使前面板可见?

JavaFX ComboBox - 如何获取不同的提示文本和所选项目文本?

java - Apache HttpClient 返回内容为空的实体

java - 在向列表中添加另一个数字之前,如何检查列表中是否有重复项?

JavaFX CSS URL 未加载

java - 有没有办法动态删除数组列表的条目