MyPanel и KeyListener - Java

Узнай цену своей работы

Формулировка задачи:

В общем нужно создать программу графический редактор. Одной из функции программы является нанесение текста на изображение (как в Paint'e). Как это реализовано:
Листинг программы
  1. japan.addKeyListener(new KeyAdapter()
  2. {
  3. public void keyReleased(KeyEvent e)
  4. {
  5. japan.requestFocus();
  6. }
  7. public void keyTyped(KeyEvent e)
  8. {
  9. if(rezhim==3){
  10. Graphics g = imag.getGraphics();
  11. Graphics2D g2 = (Graphics2D)g;
  12. g2.setColor(maincolor);
  13. g2.setStroke(new BasicStroke(2.0f));
  14. String str = new String("");
  15. str+=e.getKeyChar();
  16. g2.setFont(new Font("Arial", 0, 15));
  17. g2.drawString(str, xPad, yPad);
  18. xPad+=10;
  19. japan.requestFocus();
  20. japan.repaint();
  21. }
  22. }
  23. });
japan, соответственно, панель. Все отлично работает, НО. При нажатии кнопки Backspace (удаление) выводятся эти прямоугольники: https://vk.cc/5PC2xQ. Как можно исправить?

Решение задачи: «MyPanel и KeyListener»

textual
Листинг программы
  1. if (e.getKeyChar() == KeyEvent.VK_BACK_SPACE) {// удаляем из str последний символ }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.231 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут