Using Java Swing I have 20 JLabels
. Each JLabel
has a MouseListener
and a KeyListener
. I\'m been trying to come up with a way
In the top of your class:
private JLabel hoveredLabel;
When adding a JLabel:
final JLabel label = ...
label.addMouseMotionListener(new MouseListener() {
...
public void mouseEntered(MouseEvent me) {
hoveredLabel = (JLabel)me.getSource();
}
public void mouseExited(MouseEvent me) {
hoveredLabel = null;
}
}
And your KeyListener:
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_DELETE){
//Get the JLabel that the mouse has entered/hovering over
//Perform action on that JLabel
if (hoveredLabel != null)
doSomethingWith(hoveredLabel);
}
}
Make sure you add the KeyListener to the contentPane of the JFrame.