Advertisement
sergAccount

Untitled

Jan 30th, 2021
650
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.41 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package javaapplication21;
  7.  
  8. import java.awt.Color;
  9. import java.awt.Graphics;
  10. import java.awt.event.MouseEvent;
  11. import java.awt.event.MouseListener;
  12. import javax.swing.JPanel;
  13. // используем интерфейс MouseListener
  14. public class DrawPanel extends JPanel implements MouseListener{
  15.     // переменные типа Square
  16.     Square q1;
  17.     Square q2, q3;      
  18.     // конструктор класса
  19.     public DrawPanel(){
  20.         q1 = new Square(10, 10, 100);
  21.         q2 = new Square(400, 400, 50);
  22.         // создаем квадрат с опред цветом
  23.         q3 = new Square(650, 450, 100, Color.orange);
  24.         // подключаем (регистрируем) обработчик событий от мыши
  25.         addMouseListener(this);
  26.     }
  27.     // метод для вывода графики
  28.     public void paintComponent(Graphics g){
  29.         // вызов родительского метода
  30.         super.paintComponent(g);
  31.         // вывод прямоугольника с использованием метода класса Graphics
  32.         g.setColor(Color.blue); // установка тек-го цвета
  33.         // fillRect - для вывода закрашенного прямоугольника
  34.         //g.fillRect(0, 0, 50, 50);        
  35.         //  q1
  36.         g.fillRect(q1.getX(), q1.getY(), q1.getA(), q1.getA());
  37.         g.setColor(Color.red);
  38.         g.fillRect(q2.getX(), q2.getY(), q2.getA(), q2.getA());
  39.        
  40.         // отрисовка квадрата q3 определенным цветом
  41.         //Color c3 = q3.getColor();
  42.         g.setColor(q3.getColor());
  43.         g.fillRect(q3.getX(), q3.getY(), q3.getA(), q3.getA());
  44.     }    
  45.     @Override
  46.     public void mouseClicked(MouseEvent e) {
  47.     }
  48.     @Override
  49.     public void mousePressed(MouseEvent e) {
  50.         System.out.println("mousePressed>>");
  51.         // коорд-та точки в которой произошло событие, какая кнопка (из трех кнопок), количество кликов
  52.         System.out.println("e.getX()=" + e.getX());
  53.         System.out.println("e.getY()=" + e.getY());
  54.         // номер кнопки
  55.         System.out.println("e.getButton()=" + e.getButton());
  56.         // при нажатии на левую кнопку мыши меняем
  57.         // значение коорд объекта на соотв координату (координата события)
  58.         if(e.getButton()==MouseEvent.BUTTON1){
  59.             System.out.println("левая кнопка!!!");
  60.             q1.setX(e.getX());
  61.             q1.setY(e.getY());
  62.             // вызываем метод для возможности обновления экрана (paintComponent)
  63.             // repaint() - для обновления экрана
  64.             repaint();
  65.         }
  66.         // количество кликов
  67.         System.out.println("e.getClickCount()=" + e.getClickCount());
  68.     }
  69.     @Override
  70.     public void mouseReleased(MouseEvent e) {
  71.     }
  72.     @Override
  73.     public void mouseEntered(MouseEvent e) {
  74.     }
  75.     @Override
  76.     public void mouseExited(MouseEvent e) {
  77.     }
  78. }
  79.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement