2014-12-11 3 views
0

Я знаю, что этот вопрос очень прост, но я не могу понять, как его построить. Кажется, у него много параметров, и я не только не знаю, что им вкладывать, но и я даже не знаю, что такое компонент. Было бы здорово, если бы кто-то мог объяснить, используя базовые понятия. БлагодаряКак вы создаете MouseEvent?

+0

Есть еще множество способов сделать это. Если вы хотите использовать врожденную способность Javas, я предлагаю https://docs.oracle.com/javase/tutorial/uiswing/events/mouselistener.html – Emz

ответ

0

Есть 3 шага вам необходимо: 1. Вы должны реализовать интерфейс MouseListener в своем классе GUI 2. Добавить слушатель в GUI элемент, который он должен слушать 3. Реализовать слушатель событий для ваших конкретное событие мыши (также потребуется компилятору после добавления интерфейса в ваш класс) Для справки: учебник от Oracle https://docs.oracle.com/javase/tutorial/uiswing/events/mouselistener.html

0

MouseEvent не может эффективно использоваться без MouseListener.

Чтобы использовать MouseListener, вы должны использовать либо:

public class StackTest implements MouseListener{ 
public static void main(String[] args){ 

} 
public void mouseClicked(MouseEvent arg0){ 
} 
public void mouseEntered(MouseEvent arg0){ 
} 
public void mouseExited(MouseEvent arg0){ 
} 
public void mousePressed(MouseEvent arg0){ 
} 
public void mouseReleased(MouseEvent arg0){ 
} 

Или вы будете использовать

component.addMouseListener(new MouseListener(){ 
     public void mouseClicked(MouseEvent arg0){ 
     } 
     public void mouseEntered(MouseEvent arg0){ 
     } 
     public void mouseExited(MouseEvent arg0){ 
     } 
     public void mousePressed(MouseEvent arg0){ 
     } 
     public void mouseReleased(MouseEvent arg0){ 
     } 
    }); 

Либо работает, только до тех пор, как компонент может иметь MouseListener реализован в Это. Эти пять методов также требуются, и все они имеют свои собственные призывы.

  • mouseClicked

    Это вызывается, когда пользователь нажимает любую кнопку на мыши в компоненте.

  • mouseEntered

    Это вызывается, когда мышь пользователя входит в область компонента.

  • mouseExited

    Это вызывается, когда мышь пользователя покидает область компонента.

  • mousePressed

    Это вызывается, когда пользователь нажимает их левой кнопкой мыши на компоненте.

  • mouseReleased

    Это вызывается, когда пользователь отпускает любой из кнопок мыши после того, как она была нажата над компонентом

Примечание: mouseClicked будет ВСЕГДА быть вызван перед mouseReleased, и то же самое происходит с mouseEntered и mouseExited, соответственно.

Эти методы также будут вызываться независимо от того, есть ли в них какой-либо код.

А вот объект component - это объект, который спускается с класса Component. Компонентами являются такие вещи, как JButtons, JPanels, JFrames и т. Д. И все современные компоненты, которые вы видите, из пакета javax.swing. Например, вы, возможно, видели JOptionPane.

JOptionPane - это просто JFrame, JLabel и JButton.

Все это компоненты, которые могут содержать Event Listener. event listener делает именно то, что он говорит. Он прослушивает определенные события. Например, MouseListener прослушивает события, связанные с мышкой пользователя.

Вы можете узнать больше о компонентах here

Смежные вопросы