@Override public void mousePressed(MouseEvent e) { // TODO Auto-generated method stub long time = System.nanoTime(); int button = e.getButton(); if (time - lastTimeClicked < 200000000 && button == lastButton) { Panel.menu = !Panel.menu; return; } lastButton = button; lastTimeClicked = time; if (e.getButton() == MouseEvent.BUTTON3 && calc.getZoom() <= 1) { calc.setZoom(1); return; } double r = calc.PixToWorld(e.getX(), calc.W / 2, calc.dX); double i = calc.PixToWorld(e.getY(), calc.H / 2, calc.dY); if (e.getButton() == MouseEvent.BUTTON1) calc.setZoom(calc.getZoom() * 2); else if (e.getButton() == MouseEvent.BUTTON3) calc.setZoom(calc.getZoom() / 2); else if (e.getButton() == MouseEvent.BUTTON2) { try { String a = String.valueOf(calc.dX); String b = String.valueOf(calc.dY); String c = String.valueOf(calc.getZoom()); ImageIO.write(Panel.getImage(), "png", new File(a + "-" + b + "-" + c + ".png")); } catch (IOException ex) { } return; } calc.dX = r; calc.dY = i; if (calc.getZoom() == 1) calc.dX = calc.dY = 0; calc.needUpdate = true; synchronized (panel.calcThread) { if (!calc.isSleeping) { calc.forceRestart = true; } else panel.calcThread.notify(); } }