import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Window implements ActionListener { private JFrame fenster; private MyPanel panel; private JButton button; private JButton button2; public Window(){ fenster = new JFrame("Mein erstes Fenster"); fenster.setSize(400,400); fenster.setLayout( new BorderLayout()); JPanel top = new JPanel(); top.setBackground(new Color(170,170,170)); fenster.add(top, BorderLayout.PAGE_START); panel = new MyPanel(); fenster.add(panel, BorderLayout.CENTER); panel.setBackground(new Color(100,100,100)); button = new JButton ("Linie"); top.add(button); button.addActionListener(this); button2 = new JButton("Kreis"); top.add(button2); button2.addActionListener(this); fenster.setVisible(true); panel.addMouseMotionListener(new MouseMotionListener(){ public void mouseDragged(MouseEvent e){ panel.move((int) e.getPoint().getX(), (int) e.getPoint().getY()); fenster.repaint();} public void mouseMoved(MouseEvent e){ panel.move((int) e.getPoint().getX(), (int) e.getPoint().getY()); fenster.repaint(); } }); panel.addMouseListener(new MouseListener(){ public void mouseEntered(MouseEvent e){}; public void mousePressed(MouseEvent e){ if (e.getButton()== MouseEvent.BUTTON1){ panel.press((int) e.getPoint().getX(), (int) e.getPoint().getY()); } if (e.getButton()== MouseEvent.BUTTON3){ panel.right((int) e.getPoint().getX(), (int) e.getPoint().getY()); } fenster.repaint(); }; public void mouseReleased(MouseEvent e){ panel.released((int) e.getPoint().getX(), (int) e.getPoint().getY()); fenster.repaint(); }; public void mouseClicked(MouseEvent e){}; public void mouseExited(MouseEvent e){}; }); } public void actionPerformed(ActionEvent e){ if (e.getSource() == this.button) if (e.getSource() == this.button2) fenster.repaint(); } }