Выбор вложенных подвыражений в Swing GUI - PullRequest
0 голосов
/ 20 января 2012

Как часть дизайна GUI, который я реализую в Java swing, мне нужно, чтобы пользователь мог выбирать части или части древовидной структуры, представленной в виде строки.

Например,если бы я отображал следующее выражение, ((a|b)|(c|d))

Пользователь должен был бы иметь возможность выбрать любой из следующих (a|b), (c|d) или всего элемента ((a|b)|(c|d)).

В идеале я бы хотел, чтобы они могли перемещаться с помощью стрелок на клавиатуре, перемещаться вверх и вниз по вложенным подвыражениям и нажимать клавишу ввода, когда они достигают нужного подвыражения.Однако, если это возможно сделать только одним щелчком мыши, это также приемлемо.

Основная проблема, с которой я столкнулся, - это компонент вложенности.Я мог бы легко сделать возможным выбор всего выражения, но я не знаю, как разрешить выбор подвыражений с помощью компонентов SWING.Основываясь на моих исследованиях, Swing не позволяет размещать метки текстовых областей так, как мне нужно, поэтому я ищу любые альтернативы.

Любая помощь или предложения будут высоко оценены.

1 Ответ

2 голосов
/ 20 января 2012

Вы можете использовать Highlighter и DocumentListener только для чтения JTextField, предложенного Joop в комментарии выше, после http://docs.oracle.com/javase/tutorial/uiswing/components/textfield.html в разделе о JTextFieldDemo. Таким образом, вы можете выделить вашу (частичную) строку и прослушать, какая (под) строка выбрана, и сравнить ее с исходной строкой, чтобы проверить совпадения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...