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 последний символ }