Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package labs;
- import java.lang.Math;
- import java.util.ArrayList;
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.Graphics;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseListener;
- import javax.swing.JFrame;
- public class MyClass extends JFrame implements MouseListener {
- public MyClass() {
- Dimension d = new Dimension(600, 600);
- setSize(d);
- setTitle("Lab12");
- setLocation(150, 350);
- addMouseListener(this);
- getContentPane().setBackground(Color.WHITE);
- }
- public ArrayList<MouseEvent> backup = new ArrayList<MouseEvent>();
- public static void main(String[] args) {
- MyClass w = new MyClass();
- w.setVisible(true);
- }
- private void eventToDo(MouseEvent event) {
- backup.add(event);
- Graphics g = getGraphics();
- paint(g);
- }
- public void drawMyPolygon(MouseEvent event, Graphics g) {
- double X = event.getX(),
- Y = event.getY(),
- R = 15;
- int N = 4;
- int[] xs = new int[N], ys = new int[N];
- double angle;
- for (int i = 0; i < N; i++)
- {
- angle = 2*Math.PI*i/N;
- xs[i] = (int)(R*Math.cos(angle)+X);
- ys[i] = (int)(R*Math.sin(angle)+Y);
- }
- g.setColor(Color.BLUE);
- g.drawPolygon(xs, ys, N);
- //g.fillPolygon(xs, ys, N);
- }
- @Override
- public void paint(Graphics g) {
- super.paint(g);
- for (MouseEvent event : backup) {
- drawMyPolygon(event, g);
- }
- }
- public void mouseEntered(MouseEvent event) {}
- public void mouseExited(MouseEvent event) {}
- public void mousePressed(MouseEvent event) {
- if (event.getButton() == MouseEvent.BUTTON2) {
- eventToDo(event);
- }
- }
- public void mouseReleased(MouseEvent event) {}
- public void mouseClicked(MouseEvent event) {}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement