показ всплывающего окна на определенном токене

показ всплывающего окна,

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

  String str = Australia Canberra Dollar  
  String tokens = str.split("\\s+");

  private void editorTextAreaKeyTyped(java.awt.event.KeyEvent evt) {
     if ((evt.getKeyChar() == KeyEvent.VK_SPACE)) {
        if(!tokens[0].equals("Australia")){
          showPopup(editor, menu);
      }
     }
   }


 public void showPopUpMenu(JTextArea jTextArea, List menuItems) {

    JPopupMenu popup = new JPopupMenu();
    Point point = getPoint(jTextArea);
    Caret caret = getCaret(jTextArea);
    JMenuItem menuItem;

    ActionListener al = new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {                
            jTextArea.insert(e.getActionCommand(), jTextArea.getCaret().getDot());
        }
    };

    for (Object mi : menuItems) {
        menuItem = new JMenuItem(mi.toString());
        menuItem.addActionListener(al);
        popup.add(menuItem);
    }
    popup.show(jTextArea, point.x, point.y);
}

person FirmView    schedule 05.09.2012    source источник
comment
Я думаю, вы можете использовать viewToModel() и modelToView() для получения точки внутри JTextArea, где вы хотите, чтобы ваш PopUp появился. Надеюсь, этот пример может пролить больше света на то, что я говорю.   -  person nIcE cOw    schedule 05.09.2012
comment
Проблема в другом, Проблема со строкой. Если строки имеют определенные позиции, я могу вызвать всплывающее окно в этом конкретном месте. Он токенизируется с помощью [\\s+], поэтому трудно вычислить точки, где токен начинается и где он заканчивается.   -  person FirmView    schedule 05.09.2012
comment
@Gagandeep Bali правильно предлагает методы JTextComponent, которые можно использовать для перевода между смещением документа и координатами просмотра. Я подожду его ответа.   -  person trashgod    schedule 05.09.2012
comment
Этот код не будет компилироваться (даже если это не фрагмент). Чтобы быстрее получить помощь, опубликуйте SSCCE.   -  person Andrew Thompson    schedule 05.09.2012