MouseListener is not triggered when I am clicking. I first tried it without any labels and panel. It worked just fine as I could see the mouse coodinates and key pressed on my console. Here is the code for it:
//Write a program to handle key and mouse event
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class HandleEvent{
public static void main(String args[]){
Frame fr = new Frame("HandleEvent");
fr.setSize(500,500);
fr.setVisible(true);
fr.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
System.out.println("(" + e.getX() + ", " + e.getY() + ")");
}
});
fr.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e){
System.out.println("Key Pressed: " + e.getKeyChar());
}
});
}
}
Now I am trying to update the labels whenever I click or press key. The keyPressed() function works but my mouseClicked() is not being triggered when I click. Here is the code:
//Write a program to handle key and mouse event
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class HandleEvent{
public static void main(String args[]){
Frame fr = new Frame("HandleEvent");
Panel pan = new Panel(new FlowLayout());
Label lb1 = new Label("Mouse coordinates: (x, y)", Label.CENTER);
Label lb2 = new Label("Key Pressed: *Press any key*", Label.CENTER);
pan.add(lb1);
pan.add(lb2);
fr.add(pan);
fr.setSize(500,500);
fr.setVisible(true);
fr.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e){
lb1.setText("Mouse coordinates: (" + e.getX() + ", " + e.getY() + ")");
System.out.println("Mouse clicked!");
lb1.repaint();
}
});
fr.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e){
lb2.setText("Key Pressed: " + e.getKeyChar());
}
});
}
}
I tried fr.setFocusable(true), fr.requestFocus(), fr.setEnabled(true) but it didn't work. I even tried other mouse events but it still didn't work.