Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaFx中,仅为TextArea的第一行应用空格/填充_Java_Javafx_Javafx 2_Javafx 8 - Fatal编程技术网

在JavaFx中,仅为TextArea的第一行应用空格/填充

在JavaFx中,仅为TextArea的第一行应用空格/填充,java,javafx,javafx-2,javafx-8,Java,Javafx,Javafx 2,Javafx 8,我想在标题标签结束后开始编辑文本区域,如下图所示。还有展示衬里。显示文本标签不是textarea的文本 提前感谢…您可能有一个专门的TextArea实现,它将阻止编辑填充文本 例如: public class FirstLinePaddedTextAread extends javafx.scene.control.TextArea { private int offset; public FirstLinePaddedTextAread(String padded) {

我想在标题标签结束后开始编辑文本区域,如下图所示。还有展示衬里。显示文本标签不是textarea的文本


提前感谢…

您可能有一个专门的TextArea实现,它将阻止编辑填充文本

例如:

public class FirstLinePaddedTextAread extends javafx.scene.control.TextArea {
    private int offset;

    public FirstLinePaddedTextAread(String padded) {
        this.offset = padded.length();
        this.setText(padded);
        this.positionCaret(offset);

        this.setOnKeyPressed(event -> consumeIfCaretIsOnReadOnlyArea(event));
        this.setOnKeyTyped(event -> consumeIfCaretIsOnReadOnlyArea(event));
        this.setOnKeyReleased(event -> consumeIfCaretIsOnReadOnlyArea(event));
    }

    private void consumeIfCaretIsOnReadOnlyArea(javafx.scene.input.KeyEvent event) {
        if (getCaretPosition() < offset) {
            if (!event.getCode().isNavigationKey())
                event.consume();

        } else if (getCaretPosition() == offset) {
            if (event.getCode() == javafx.scene.input.KeyCode.DELETE
                    || event.getCode() == javafx.scene.input.KeyCode.BACK_SPACE) {
                event.consume();
            }
        }
    }
}
public类FirstLinePaddedTextAread扩展了javafx.scene.control.TextArea{
私有整数偏移;
公共FirstLinePaddedTextAread(字符串填充){
this.offset=padded.length();
这个.setText(填充);
此位置插入符号(偏移);
按下此.setOnKeyPressed(事件->consumeIfCaretIsOnReadOnlyArea(事件));
this.setOnKeyTyped(事件->consumeIfCaretIsOnReadOnlyArea(事件));
此.setOnKeyReleased(事件->consumeIfCaretIsOnReadOnlyArea(事件));
}
私有void consumeIfCaretIsOnReadOnlyArea(javafx.scene.input.KeyEvent事件){
if(getCaretPosition()
标题文本应该是放置在文本区域上方的标签,或者。至于行,我怀疑这是可能的。问题的行部分回答为:。每个问题最好只问一个问题(例如,一个关于如何处理标题字符串的问题,另一个关于如何在文本区域显示行的问题)。@VGR它是一个标签。@jewelsea它用于行。但我应该怎么做填充在第一行。谢谢..是否可以使用“-fx形状”?谢谢斯卡迪亚,它对我有效..我还有一个问题要禁用文本区域的滚动条。