Иллюстрированный самоучитель по Java



              

Обработка действий мыши - часть 3


else if (s.equals("Зеленый")) currColor = Coior.green;

else if (s.equals("Синий")) currColor = Color.blue;

else if (s.equals("Черный")) currColor = Color.black; } 

public void mousePressed(MouseEvent e){

if ( (e.getModifiers() & MouseEvent.BUTTON 1__MASK) = 0) return;

lastX = e.getXO; lastY = e.getYO; } 

public void mouseDragged(MouseEvent e){

if ((e.getModifiers() & MouseEvent.BUTTON1_MASK) = 0) return;

Graphics g = getGraphics();

g.setColor(currColor);

g.drawLinedastX, lastY, e.getX(), e.getY());

lastX = e.getX(); lastY = e.getY(); }

public void mouseReleased(MouseEvent e){} 

public void mouseClicked(MouseEvent e){}

public void mouseEntered(MouseEvent e){} 

public void mouseExited(MouseEvent e){} 

public void mouseMoved(MouseEvent e){} 

}

Рис. 12.3.

Пример работы  с программой рисования

При создании класса-слушателя scribble и реализации интерфейсов MouseListener и MouseMotionListener пришлось реализовать все их семь ме-тодов, хотя мы отслеживали только нажатие и перемещение мыши, и нам нужны были только методы mousePressed () и mouseDragged (). Для остальных методов мы задали пустые реализации.

Чтобы облегчить задачу реализации интерфейсов, имеющих более одного метода, созданы классы-адаптеры.




Содержание  Назад  Вперед