Advertisement
Guest User

Untitled

a guest
Oct 17th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.18 KB | None | 0 0
  1. package paint;
  2.  
  3. import java.awt.*;
  4. import java.awt.event.*;
  5.  
  6.  
  7. import javax.swing.*;
  8.  
  9. public class main {
  10.  
  11. public static void main(String[] args) {
  12. okno okno = new okno();
  13. }
  14.  
  15. }
  16.  
  17. class okno extends JFrame {
  18. // Конструктор класса окна
  19. public okno() {
  20. // Задание размеров и положения окна
  21. setBounds(0,0,700,600);
  22. // Задание заголовка окна
  23. setTitle("Работа с мышью");
  24. // Создание объекта панели
  25. panel pan = new panel();
  26. // Получение содержимого (контента) окна
  27. Container con = getContentPane();
  28. // Прикрепление (вложение) панели в окно
  29. con.add(pan);
  30. // Сделать окно видимым
  31. setVisible(true);
  32. }
  33. }
  34.  
  35. class panel extends JPanel {
  36. Color[] masColor;
  37. int tCol = 0;
  38. int mX,mY;
  39. boolean flag=false;
  40.  
  41. public panel(){
  42. addMouseListener(new myMouse1());
  43. addMouseMotionListener(new myMouse2());
  44.  
  45. masColor = new Color[7];
  46. masColor[0] = Color.BLACK;
  47. masColor[1] = Color.GREEN;
  48. masColor[2] = Color.BLUE;
  49. masColor[3] = Color.RED;
  50. masColor[4] = Color.YELLOW;
  51. masColor[5] = Color.WHITE;
  52. masColor[6] = Color.ORANGE;
  53. }
  54.  
  55. public void paintComponent(Graphics gr){
  56. for (int i=0; i<7; i++){
  57. gr.setColor(masColor[i]);
  58. gr.fillRect(i*100, 0, 100, 50);
  59.  
  60. }
  61. if (flag==true)
  62. {
  63. gr.setColor(masColor[tCol]);
  64. gr.fillRect(mX, mY, 3, 3);
  65. }
  66. }
  67. class myMouse1 implements MouseListener {
  68. // Щелчок кнопкой мыши
  69. public void mouseClicked(MouseEvent e) { }
  70. // Нажатие кнопки мыши public
  71. public void mouseReleased(MouseEvent e) { }
  72. // При появлении курсора мыши на панели окна
  73. public void mouseEntered(MouseEvent e) { }
  74. // При выходе курсора мыши за пределы панели окна
  75. public void mouseExited(MouseEvent e) { }
  76. public void mousePressed(MouseEvent e) {
  77. int tX = e.getX();
  78. int tY = e.getY();
  79. int col = e.getClickCount();
  80. int btn = e.getButton();
  81. if ((tX>0) && (tX<700)&& (tY>0) && (tY<50)){
  82. if (col==1){
  83. if (btn==1){
  84. tCol = tX / 100;
  85. }
  86. }
  87. }
  88. }
  89. }
  90.  
  91. class myMouse2 implements MouseMotionListener {
  92. // При перемещении мыши с нажатой кнопкой - захват
  93. public void mouseDragged(MouseEvent e) {
  94. int tX = e.getX();
  95. int tY = e.getY();
  96. if (tY>50){
  97. mX = tX;
  98. mY = tY;
  99. flag=true;
  100. repaint();
  101. }
  102. }
  103. // При перемещении мыши
  104. public void mouseMoved(MouseEvent e) {
  105. int tX = e.getX();
  106. int tY = e.getY();
  107. // Проверка, что курсор находится в области выбора цветов
  108. if ((tX>0) && (tX<700)&& (tY>0) && (tY<50)){
  109. // Установка курсора ввиде пальца
  110. setCursor(new Cursor(Cursor.HAND_CURSOR));
  111. } else {
  112. // Установка обычного курсора ввиде стрелочки
  113. setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
  114. }
  115. }
  116. }
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement