powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Выделение ключевых слов в JTextPane
7 сообщений из 7, страница 1 из 1
Выделение ключевых слов в JTextPane
    #34301200
neon_80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите как лучше реализовать выделение ключевых слов в JTextPane. Хочу сделать встроенный редактор sql-запросов, для этого необходимо выделять такие слова как select , from . Желательно в ответе привести рабочий пример. Заранее благодарен.
...
Рейтинг: 0 / 0
Выделение ключевых слов в JTextPane
    #34302149
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем очередной велосипед нужен?
...
Рейтинг: 0 / 0
Выделение ключевых слов в JTextPane
    #34302244
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neon_80Желательно в ответе привести рабочий пример.
И ключ от квартиры где деньги лежат
...
Рейтинг: 0 / 0
Выделение ключевых слов в JTextPane
    #34302253
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neon_80Подскажите как лучше реализовать выделение ключевых слов в JTextPane. Хочу сделать встроенный редактор sql-запросов, для этого необходимо выделять такие слова как select , from . Желательно в ответе привести рабочий пример. Заранее благодарен.
Эта тема недавно поднималась, только там хотели написать XML-редактор. Я так понимаю, это для себя? Тогда разобраться с Eclipse будет весьма полезно.
http://rsdn.ru/Forum/Message.aspx?mid=2327877&only=1
...
Рейтинг: 0 / 0
Выделение ключевых слов в JTextPane
    #34303333
neon_80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я разрабатываю программу где необходимо писать sql-запросы, результат выполнения которого должен сам обработать. Пишу на JDeveloper-e. поэтому мне для удобства нужен свой встроенный в программу редактор запросов. Иначе бы не спрашивал.
Если никто не знает как сделать, то может поможет разобраться с StyledDocument? Не могу на русском по этому делу докук найти.
...
Рейтинг: 0 / 0
Выделение ключевых слов в JTextPane
    #34303408
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
читайте портянкина "Эффективные пользовательские интерфейсы". там про это целая глава есть. тынц
...
Рейтинг: 0 / 0
Выделение ключевых слов в JTextPane
    #34313374
neon_80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что то похожее я все таки накатал. Но вот проблема не могу узнать границы текущего слова. изза этого все проблемы. Если вводить одно и то же слово несколько раз то глюки появляются. Может кто подскажет как надо?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
 class  HighlightTest {

 HighlightTest() {
   JTextPane textPane =  new  JTextPane();

   attrs[ 0 ] =  new  SimpleAttributeSet();
   StyleConstants.setBold(attrs[ 0 ], false);

   attrs[ 1 ] =  new  SimpleAttributeSet();
   StyleConstants.setBold(attrs[ 1 ], true);

   doc =  new  SQLHighlighting();
   textPane.setDocument(doc);
 }


     class  SQLHighlighting  extends  DefaultStyledDocument {
       protected   void  insertUpdate(DefaultDocumentEvent chng, AttributeSet attr) {
          int  offset = chng.getOffset();
         String word="";
         String next_word="";

         
        try  {
         StringTokenizer st =  new  StringTokenizer(doc.getText(posS, posE));
          while  (st.hasMoreTokens() == true) {
           next_word=st.nextToken();
            while  (st.hasMoreTokens()) {
            word = next_word;
            next_word = st.nextToken();
            posS=textPane.getText().indexOf(word);
            posE=textPane.getText().indexOf(next_word);
             if  (word.equalsIgnoreCase("select")) {
              doc.setCharacterAttributes(posS, posE, attrs[ 1 ], true);
            }  else  {doc.setCharacterAttributes(posS, posE, attrs[ 0 ], true);}
           }
         }
       }  catch  (BadLocationException ex) { System.out.println(ex.getMessage()); }
      }
    }
}
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Выделение ключевых слов в JTextPane
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]