Для того, чтобы иметь возможность отображать предложение по a, скажем, JPanel
с GridLayout(1,0)
[то есть только одну строку/строку], а затем иметь возможность рисовать синтаксическое дерево (или подобное) над ним, я хочу отобразить предложение в виде строки String
s, каждая из которых содержит одно слово.Отобразить строку строк на JComponent, чтобы можно было выбрать одиночные строки/их местоположение getLocation() - возможно?
Одиночные String
s должен затем быть либо по выбору (как в JList
), или я должен по крайней мере быть в состоянии получить их расположение на JPanel
через getLocation()
.
До этого момента я попробовал следующие варианты, и имели следующие вопросы: - Свободна String
сек как JLabel
S: JLabel
s растянуты, чтобы заполнить JPanel
ширину, изменение размера их, чтобы соответствовать единственной String
они выглядят сложными. Тем не менее, я хотел бы сделать это, чтобы сделать предложение посмотреть как предложение, а не как плохо выложенный стол. - JList
: Все функциональные возможности, которые я хочу, но я не знаю о возможности изменить размер «ячеек» одного String
(см. JLabel
выше). Кроме того, у меня возникают трудности с ограничением отображения JList на одну строку/строку (см. another of my questions). - JTextArea
: Я не мог разглядеть, как получить местоположение единственного String
s, которое я добавил к JTextArea
.
Я знаю, что drawString()
может быть быть вариантом, но я боюсь использовать его, так как я не хочу смешивать AWT и Swing. Кроме того, мне нужно будет вычислить значения int
для x
и y
для каждого String
. И я не уверен, смогу ли я получить их местоположения вообще (хотя я мог бы, конечно, сохранить их int
s на карте или векторе, так как мне все равно их вычислить).
Благодарим за любые предложения! Благодаря!
+1 Если я не ошибаюсь, это будет лучше масштабироваться по мере роста числа линий. – trashgod