serg_specialist

Untitled

Nov 22nd, 2020
477
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 javaapplication3;
  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.  
  14. public class DrawPanel extends JPanel implements MouseListener {
  15.    
  16.     boolean drawCircle = false;
  17.     //
  18.     public DrawPanel(){
  19.         // подключаем обработчик мыши (объект типа MouseListener) - испльзуем метод addMouseListener
  20.         addMouseListener(this);
  21.     }
  22.     // метод для отрисовки гпаф объектов - paintComponent
  23.     public void paintComponent(Graphics g){
  24.         // вызов род-кого метода
  25.         super.paintComponent(g);
  26.         //
  27.         g.setColor(Color.red);
  28.         g.fillRect(10, 10, 200, 200);  
  29.         if(drawCircle){
  30.             // drawOval - для отрисовки окружностей
  31.             g.drawOval(400, 400, 50, 50);
  32.         }
  33.     }        
  34.  
  35.     @Override
  36.     public void mouseClicked(MouseEvent e) {
  37.     }
  38.  
  39.     @Override
  40.     public void mousePressed(MouseEvent e) {
  41.         //
  42.         System.out.println("mousePressed invoked!");
  43.         // 1) Определяем точку в которой возникло нажатие на кнопку (x, y)
  44.         int x = e.getX();
  45.         int y = e.getY();
  46.         System.out.println("(x,y) - cобытие в точке x=" + x + " y=" + y);
  47.         // 2) Определение кнопки мыши  
  48.         int bNumber = e.getButton();
  49.         System.out.println("bNumber - номер кнопки=" + bNumber);
  50.         // 3) Определение количества кликов  
  51.         int clickCount = e.getClickCount();
  52.         System.out.println("clickCount - количества кликов=" + clickCount);        
  53.         if(bNumber==3){
  54.             drawCircle = true;
  55.             // используем repaint() - для обновления из-я на экране
  56.             repaint();
  57.         }
  58.     }
  59.  
  60.     @Override
  61.     public void mouseReleased(MouseEvent e) {
  62.     }
  63.  
  64.     @Override
  65.     public void mouseEntered(MouseEvent e) {
  66.     }
  67.  
  68.     @Override
  69.     public void mouseExited(MouseEvent e) {
  70.     }
  71. }
  72.  
RAW Paste Data