Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package paint;
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- public class main {
- public static void main(String[] args) {
- okno okno = new okno();
- }
- }
- class okno extends JFrame {
- // Конструктор класса окна
- public okno() {
- // Задание размеров и положения окна
- setBounds(0,0,700,600);
- // Задание заголовка окна
- setTitle("Работа с мышью");
- // Создание объекта панели
- panel pan = new panel();
- // Получение содержимого (контента) окна
- Container con = getContentPane();
- // Прикрепление (вложение) панели в окно
- con.add(pan);
- // Сделать окно видимым
- setVisible(true);
- }
- }
- class panel extends JPanel {
- Color[] masColor;
- int tCol = 0;
- int mX,mY;
- boolean flag=false;
- public panel(){
- addMouseListener(new myMouse1());
- addMouseMotionListener(new myMouse2());
- masColor = new Color[7];
- masColor[0] = Color.BLACK;
- masColor[1] = Color.GREEN;
- masColor[2] = Color.BLUE;
- masColor[3] = Color.RED;
- masColor[4] = Color.YELLOW;
- masColor[5] = Color.WHITE;
- masColor[6] = Color.ORANGE;
- }
- public void paintComponent(Graphics gr){
- for (int i=0; i<7; i++){
- gr.setColor(masColor[i]);
- gr.fillRect(i*100, 0, 100, 50);
- }
- if (flag==true)
- {
- gr.setColor(masColor[tCol]);
- gr.fillRect(mX, mY, 3, 3);
- }
- }
- class myMouse1 implements MouseListener {
- // Щелчок кнопкой мыши
- public void mouseClicked(MouseEvent e) { }
- // Нажатие кнопки мыши public
- public void mouseReleased(MouseEvent e) { }
- // При появлении курсора мыши на панели окна
- public void mouseEntered(MouseEvent e) { }
- // При выходе курсора мыши за пределы панели окна
- public void mouseExited(MouseEvent e) { }
- public void mousePressed(MouseEvent e) {
- int tX = e.getX();
- int tY = e.getY();
- int col = e.getClickCount();
- int btn = e.getButton();
- if ((tX>0) && (tX<700)&& (tY>0) && (tY<50)){
- if (col==1){
- if (btn==1){
- tCol = tX / 100;
- }
- }
- }
- }
- }
- class myMouse2 implements MouseMotionListener {
- // При перемещении мыши с нажатой кнопкой - захват
- public void mouseDragged(MouseEvent e) {
- int tX = e.getX();
- int tY = e.getY();
- if (tY>50){
- mX = tX;
- mY = tY;
- flag=true;
- repaint();
- }
- }
- // При перемещении мыши
- public void mouseMoved(MouseEvent e) {
- int tX = e.getX();
- int tY = e.getY();
- // Проверка, что курсор находится в области выбора цветов
- if ((tX>0) && (tX<700)&& (tY>0) && (tY<50)){
- // Установка курсора ввиде пальца
- setCursor(new Cursor(Cursor.HAND_CURSOR));
- } else {
- // Установка обычного курсора ввиде стрелочки
- setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement