sergAccount

Untitled

Jan 30th, 2021
501
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.  
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×