package grav; import java.awt.*; import java.awt.event.*; public class Main extends Frame implements MouseMotionListener, KeyListener { Image imageBuffer = null; Insets insets; boolean rebuild = false; int rebuildNum = 0; grav thing; gwell gravp; public Main(String title, int size){ super(title); addWindowListener(new WindowCloser()); addKeyListener(this); addMouseMotionListener(this); insets = getInsets(); setVisible(true); super.setSize(size + insets.left + insets.right, size + insets.top + insets.bottom); imageBuffer = createImage(size, size); thing = new grav(size, 20000, getG(), this); gravp = thing.getgrav(); thing.run(); } public static void main(String[] args) { Main test = new Main("gravity", 800); } public void paint(Graphics g){ if (imageBuffer != null) g.drawImage(imageBuffer, insets.left, insets.top, null); } public void update(Graphics g){ paint(g); } public Graphics getG(){ return imageBuffer.getGraphics(); } public void mouseMoved(MouseEvent e){ e.consume(); } public void mouseDragged(MouseEvent e){ gravp.x = e.getX(); gravp.y = e.getY(); e.consume(); } public void keyTyped(KeyEvent e) { } public void keyPressed(KeyEvent e) { if(KeyEvent.VK_SPACE == e.getKeyCode()){ rebuildNum = (int)(Math.random()*5); rebuild = true; } else if (KeyEvent.VK_0 == e.getKeyCode()){ rebuildNum = 0; rebuild = true; } else if (KeyEvent.VK_1 == e.getKeyCode()){ rebuildNum = 1; rebuild = true; } else if (KeyEvent.VK_2 == e.getKeyCode()){ rebuildNum = 2; rebuild = true; } else if (KeyEvent.VK_3 == e.getKeyCode()){ rebuildNum = 3; rebuild = true; } else if (KeyEvent.VK_4 == e.getKeyCode()){ rebuildNum = 4; rebuild = true; } } public void keyReleased(KeyEvent e) { } } class WindowCloser extends WindowAdapter{ public void windowClosing(WindowEvent e){ System.exit(0); } }