Вот небольшое исследование, которое я провел, и ответ ниже дал мне @StanislavL.
Ознакомьтесь с руководством http://java-sl.com/editor_kit_tutorial_views.html.
О методе
protected void layoutMajorAxis (int targetSpan, int axis, int[] offsets, int[] spans)
Фактически он определяет позиции и промежутки детей. Рассмотрим layoutMajorAxis для абзаца. Таким образом, мы размещаем строки абзаца targetSpan — это количество места, которое мы хотели бы получить (в нашем случае это высота абзаца, это может быть, например, высота страницы или высота ячейки таблицы). Давайте рассмотрим простой случай, когда высота равна ширине JEditorPane 100 пикселей. Таким образом, мы должны рассчитать, где будет начинаться каждая строка (смещения) и сколько места она потребует (промежутки). ось Y_AXIS
так что если мы, например. вызовите super.layoutMajorAxis для абзаца, а затем измените смещения на 5, 10, 15 и т. д. у нас будут перекрывающиеся строки.
Но если мы рассмотрим layoutMajorAxis для строки абзаца (например, наш текст содержит жирное слово, поэтому строка имеет 3 дочерних элемента).
В этом случае targetSpan — это ширина абзаца владельца, смещения — это начало каждого элемента, а span — это размеры каждого текстового элемента.
Вопрос: 1. Дает ли метод offsets.length количество «элементов» в «массиве» смещения, как это делает метод array.length (с первым «элементом», имеющим индекс 0), или это общая сумма массива offset []. например, следуя примеру по ссылке, смещение по оси Y равно {10,30,50}, так что offsets.length = 10+30+50, что равно 90? или он меняется в зависимости от конкретного дочернего представления, о котором идет речь?
2. Если моей основной осью является ось Y, в этом методе будет ли диапазон этого конкретного метода также относиться к оси Y? Если это так, то смещения по оси x могут измениться, поэтому будут ли смещения по оси x обрабатываться в методе layoutMinorView()?
поправки приветствуются. Заранее спасибо.