JavaFX проблема цвета границы области прокрутки текстовой области, как решить - PullRequest
0 голосов
/ 04 декабря 2018

У меня проблема в текстовой области javafx.Проблема в том, что, когда я сфокусировался на границе текстовой области, применяется ... это нормально.

Но когда я дрейфую с ручкой полосы прокрутки, текстовая область граничит с потерей ...

См.изображение ниже:

Это моя простая текстовая область

enter image description here

Текстовая область изменилась, когда я сфокусировал текстовую область какthis.

enter image description here

Но когда i, когда я прокручиваю текстовую область с границей текстовой области с ручкой прокрутки, изменяется, как до (не сфокусированного) состояния.вот так ..

enter image description here

Это какой-либо способ управления текстовой областью в пределах области прокрутки (в текстовой области), любые предложения могут помочьbest ???

Спасибо заранее.

Более подробная информация может быть предоставлена, если таковые имеются ...

1 Ответ

0 голосов
/ 10 декабря 2018

Один из возможных способов обойти это запретить фокусировку на ScrollPane в TextArea.т.е. в тот момент, когда ScrollPane получает фокус, мы заставляем фокусироваться на TextArea.Таким образом, фокус всегда будет на TextArea.

import javafx.scene.control.ScrollPane;
import javafx.scene.control.TextArea;

public class CustomTextArea extends TextArea {
    private ScrollPane textAreaScrollPane;

    @Override
    protected void layoutChildren() {
        super.layoutChildren();
        if (textAreaScrollPane == null) {
            textAreaScrollPane = (ScrollPane) lookup(".scroll-pane");
            textAreaScrollPane.focusedProperty().addListener((obs, oldVal, focused) -> {
                if (focused) {
                    requestFocus();
                }
            });
        }
    }
}

И вы будете использовать эту CustomTextArea в своем приложении.

TextArea textArea = new CustomTextArea();
...