MyPanel и KeyListener - Java
Формулировка задачи:
В общем нужно создать программу графический редактор.
Одной из функции программы является нанесение текста на изображение (как в Paint'e).
Как это реализовано:
japan, соответственно, панель. Все отлично работает, НО. При нажатии кнопки Backspace (удаление) выводятся эти прямоугольники: https://vk.cc/5PC2xQ.
Как можно исправить?
Листинг программы
- japan.addKeyListener(new KeyAdapter()
- {
- public void keyReleased(KeyEvent e)
- {
- japan.requestFocus();
- }
- public void keyTyped(KeyEvent e)
- {
- if(rezhim==3){
- Graphics g = imag.getGraphics();
- Graphics2D g2 = (Graphics2D)g;
- g2.setColor(maincolor);
- g2.setStroke(new BasicStroke(2.0f));
- String str = new String("");
- str+=e.getKeyChar();
- g2.setFont(new Font("Arial", 0, 15));
- g2.drawString(str, xPad, yPad);
- xPad+=10;
- japan.requestFocus();
- japan.repaint();
- }
- }
- });
Решение задачи: «MyPanel и KeyListener»
textual
Листинг программы
- if (e.getKeyChar() == KeyEvent.VK_BACK_SPACE) {// удаляем из str последний символ }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д