You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.4 KiB
Java
52 lines
1.4 KiB
Java
5 years ago
|
Registering 2 same listeners for a component
|
||
|
|
||
|
import javax.swing.*;
|
||
|
import java.awt.event.*;
|
||
|
|
||
|
public class Test
|
||
|
{
|
||
|
boolean firstAdapterCalled = false;
|
||
|
boolean secondAdapterCalled = false;
|
||
|
MyFirstAdapter ma1;
|
||
|
MySecondAdapter ma2;
|
||
|
public Test()
|
||
|
{
|
||
|
JFrame frame = new JFrame ("Test");
|
||
|
JButton butt = new JButton("Press Me");
|
||
|
frame.getContentPane().add(butt);
|
||
|
frame.pack();
|
||
|
frame.setVisible(true);
|
||
|
ma1 = new MyFirstAdapter();
|
||
|
ma2 = new MySecondAdapter();
|
||
|
butt.addMouseListener(ma1);
|
||
|
butt.addMouseListener(ma2);
|
||
|
}
|
||
|
public static void main (String [] args)
|
||
|
{
|
||
|
Test t = new Test();
|
||
|
}
|
||
|
|
||
|
class MyFirstAdapter extends MouseAdapter
|
||
|
{
|
||
|
public void mouseClicked(MouseEvent e)
|
||
|
{
|
||
|
System.out.println("Called first adapter");
|
||
|
firstAdapterCalled = true;
|
||
|
ma2.mouseClicked(e);
|
||
|
}
|
||
|
}
|
||
|
class MySecondAdapter extends MouseAdapter
|
||
|
{
|
||
|
public void mouseClicked(MouseEvent e)
|
||
|
{
|
||
|
if (!firstAdapterCalled)
|
||
|
{
|
||
|
System.out.println("First adapter not called yet...");
|
||
|
return;
|
||
|
}
|
||
|
System.out.println("Second adapter called");
|
||
|
firstAdapterCalled = false;
|
||
|
}
|
||
|
}
|
||
|
}
|