2010-04-26 1 views
0

ChatGUIJava JEditorPane

им с помощью 2 JEditorPane для передачи текста от одного к другому.

раз я переданы данные я сделать следующее:

JEditorPane.setText(null); 

JEditorPane.setCaretPosition(0); 

, но как вы можете видеть на прилагаемом изображении возвращение действие делает подсказки появляются строки вниз. Как я могу это исправить?

EDIT: Вам кажется, что вам кажется правильным? если да, то почему карет не позиционирует себя в положение «убиратель 0»?

private class MyKeyAdapter extends KeyAdapter { 

    @Override 
    public void keyPressed(KeyEvent ke) { 

     int kc = ke.getKeyCode(); 

     if (kc == ke.VK_ENTER) { 

      System.out.println(editorPaneHistory.getText()); 

      System.out.println(editorPaneHomeText.getText()); 

      editorPaneHistory.setText(editorPaneHomeText.getText()); 

      //JEditorPane - editorPaneHistory 
      //JEditorPane - editorPaneHomeText 

      editorPaneHomeText.setText(null); 

      editorPaneHomeText.setCaretPosition(0); 

     } 
    } 
} 
+0

Я пробовал это, но мой карет исчезает после того, как я «очищу его», и когда я нажимаю на созданную мной JEditorPane, карет снова появляется наверху. Может быть, что-то не так в другом месте – marionmaiden

+0

вы могли бы поделиться своим примером, пожалуйста? – iTEgg

+0

Что вы подразумеваете под «чистым»? вы делаете то, что я не делаю? – iTEgg

ответ

1

После ваших прогонов коды, то JEditorPane реагирует на клавиши ввода обычного способа, путем вставки новой строки. Попробуйте позвонить ke.consume(), чтобы «уничтожить» событие, чтобы сам JEditorPane не обрабатывал его.

+0

это отлично выглядит! большое спасибо. – iTEgg

+0

может предоставить небольшой пример? в моих попытках, когда я ставлю ke.consume(); «enter» перестает отвечать. – iTEgg

+0

не уверен, что это работает или. будет обновляться завтра. – iTEgg

0

Не используйте KeyListener. Вы должны использовать специальное действие. Таким образом вы можете заменить действие по умолчанию. Читайте дальше: Key Bindings.

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

  • Нет связанных вопросов^_^