2014-02-07 3 views
3

В настоящее время я разрабатываю приложение RCP Eclipse4, и мне было интересно, есть ли возможность определить токены в текстовых полях SWT, чтобы они не были доступны по буквам.Токены в TextFields SWT

Так, например, у меня есть текстовое поле, и я хочу сделать маркеры, которые соответствуют «[anytext]« не доступно по буквам. (Где скобки определяют токен)

Это означает: я не могу поместить курсор в круглую скобку, и если я нажму кнопку delete непосредственно перед левой скобкой или назад, расположенной за правой скобкой, весь токен будет удален.

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

Я просто пропустил какой-то причудливый способ сделать это?

Упование вы можете мне помочь, спасибо!

+0

Просто уточнить: вы делаете что-то похожее на функции тегов StackOwerflow? –

+0

нет, но каким-то образом это то, что мне нужно. Чтобы дать вам общую картину: у меня есть текст (называйте его переменной), и эти переменные могут отображаться в виде токенов в других текстовых полях (в этих скобках: [variable]). По мере изменения текста переменной все токены соответствующим образом меняют свой текст. Токены не должны манипулировать, но их нужно удалять (весь токен). – HexFlex

+4

Нет никакого причудливого способа, много слушателей - способ сделать это. –

ответ

1

Я предлагаю вам использовать org.eclipse.swt.custom.StyledText, который обеспечивает богатые функции, чем org.eclipse.swt.widgets.Text. JavaEditor выполняет те же функции, что и вы, как имя переменной смены рефакторинга, изменение получает отражение, если эта переменная используется.

Смежные вопросы