Im using netbeans and I'm dynamically adding labels with shapes inside them to my jpanel. However, i added a mouselistener to my panel but it only detects actions when the mouse isn't over the jlabel? Is there a way to include the jLabel inside my jPanel in my mouseListener without adding listeners to each individual jLabel?
private void jPanel2MouseClicked(java.awt.event.MouseEvent evt) {
for(int a = 0; a< states.size(); a++) {
if(states.get(a).contains(evt.getPoint())) {
if(states.get(a).getIcon() == rectangleIcon) {
if(yellow == true) {
states.get(a).setIcon(yellow2Icon);
yellow = false;
} else if (yellow != true){
states.get(a).setIcon(yellowIcon);
jPanel2.revalidate();
jPanel2.repaint();
yellow = true;
}
} else {
states.get(a).setIcon(rectangleIcon);
yellow = false;
}
x2 = evt.getPoint();
}
}
}
and i create my jLabels by doing the usual to my jpanel
JLabel rectanglelLabel = new JLabel(rectangleIcon);
states.add(rectanglelLabel);
rectanglelLabel.setText("State " + counter);
rectanglelLabel.setHorizontalTextPosition(JLabel.CENTER);
rectanglelLabel.setBounds((counter*100)%500,((counter/3)*100)%500,50,50);
counter++;
jPanel2.add(rectanglelLabel);
jPanel2.revalidate();
jPanel2.repaint();