Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package javaapplication21;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseListener;
- import javax.swing.JPanel;
- // используем интерфейс MouseListener
- public class DrawPanel extends JPanel implements MouseListener{
- // переменные типа Square
- Square q1;
- Square q2, q3;
- // конструктор класса
- public DrawPanel(){
- q1 = new Square(10, 10, 100);
- q2 = new Square(400, 400, 50);
- // создаем квадрат с опред цветом
- q3 = new Square(650, 450, 100, Color.orange);
- // подключаем (регистрируем) обработчик событий от мыши
- addMouseListener(this);
- }
- // метод для вывода графики
- public void paintComponent(Graphics g){
- // вызов родительского метода
- super.paintComponent(g);
- // вывод прямоугольника с использованием метода класса Graphics
- g.setColor(Color.blue); // установка тек-го цвета
- // fillRect - для вывода закрашенного прямоугольника
- //g.fillRect(0, 0, 50, 50);
- // q1
- g.fillRect(q1.getX(), q1.getY(), q1.getA(), q1.getA());
- g.setColor(Color.red);
- g.fillRect(q2.getX(), q2.getY(), q2.getA(), q2.getA());
- // отрисовка квадрата q3 определенным цветом
- //Color c3 = q3.getColor();
- g.setColor(q3.getColor());
- g.fillRect(q3.getX(), q3.getY(), q3.getA(), q3.getA());
- }
- @Override
- public void mouseClicked(MouseEvent e) {
- }
- @Override
- public void mousePressed(MouseEvent e) {
- System.out.println("mousePressed>>");
- // коорд-та точки в которой произошло событие, какая кнопка (из трех кнопок), количество кликов
- System.out.println("e.getX()=" + e.getX());
- System.out.println("e.getY()=" + e.getY());
- // номер кнопки
- System.out.println("e.getButton()=" + e.getButton());
- // при нажатии на левую кнопку мыши меняем
- // значение коорд объекта на соотв координату (координата события)
- if(e.getButton()==MouseEvent.BUTTON1){
- System.out.println("левая кнопка!!!");
- q1.setX(e.getX());
- q1.setY(e.getY());
- // вызываем метод для возможности обновления экрана (paintComponent)
- // repaint() - для обновления экрана
- repaint();
- }
- // количество кликов
- System.out.println("e.getClickCount()=" + e.getClickCount());
- }
- @Override
- public void mouseReleased(MouseEvent e) {
- }
- @Override
- public void mouseEntered(MouseEvent e) {
- }
- @Override
- public void mouseExited(MouseEvent e) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement