Как часть дизайна GUI, который я реализую в Java swing, мне нужно, чтобы пользователь мог выбирать части или части древовидной структуры, представленной в виде строки.
Например,если бы я отображал следующее выражение, ((a|b)|(c|d))
Пользователь должен был бы иметь возможность выбрать любой из следующих (a|b)
, (c|d)
или всего элемента ((a|b)|(c|d))
.
В идеале я бы хотел, чтобы они могли перемещаться с помощью стрелок на клавиатуре, перемещаться вверх и вниз по вложенным подвыражениям и нажимать клавишу ввода, когда они достигают нужного подвыражения.Однако, если это возможно сделать только одним щелчком мыши, это также приемлемо.
Основная проблема, с которой я столкнулся, - это компонент вложенности.Я мог бы легко сделать возможным выбор всего выражения, но я не знаю, как разрешить выбор подвыражений с помощью компонентов SWING.Основываясь на моих исследованиях, Swing не позволяет размещать метки текстовых областей так, как мне нужно, поэтому я ищу любые альтернативы.
Любая помощь или предложения будут высоко оценены.