@Override public void mouseReleased(MouseEvent e) {released(e);}
@Override public void mousePressed(MouseEvent e) {button = e.getButton();}
@Override public void mouseExited(MouseEvent e) {}
@Override public void mouseEntered(MouseEvent e) {}
@Override public void mouseClicked(MouseEvent e) {clicked(e);}});
this.addMouseMotionListener(new MouseMotionListener() {
@Override public void mouseDragged(MouseEvent e) {dragged(e);}
@Override public void mouseMoved(MouseEvent e) {if (linePosition != null) {linePosition = e.getPoint();repaint();}}});
this.addKeyListener(new KeyListener() {
@Override public void keyPressed(KeyEvent e) {keypress(e);}
@Override public void keyReleased(KeyEvent e) {}