Graphen/Window.java

77 lines
2.4 KiB
Java

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();
}
}