Ciao ragazzi. Ho due label a cui ho aggiunto una immagine con il comando setIcon. Vorrei che si potesse associare ad ognuna di esse un MouseListener in modo che, una volta cliccata l'immagine, succede qualcosa..Ho pensato a questo codice:
codice:
public class J extends JFrame implements MouseListener {
private JPanel contentPane;
private JLabel lblNewLabel_1;
private JLabel lblNewLabel;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
J frame = new J();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public J() {
setUndecorated(true);
setBackground(Color.BLACK);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
contentPane = new JPanel();
contentPane.setBackground(Color.BLACK);
setContentPane(contentPane);
getContentPane().setLayout(null);
lblNewLabel = new JLabel("New label");
lblNewLabel.setBounds(new Rectangle(126, 208, 350, 350));
ImageIcon im = new ImageIcon(getClass().getResource("/Copia di album2/1.jpg"));
lblNewLabel.setIcon(im);
contentPane.add(lblNewLabel);
lblNewLabel.addMouseListener(this);
lblNewLabel_1 = new JLabel("New label");
lblNewLabel_1.setBounds(new Rectangle(802, 208, 350, 350));
lblNewLabel_1.setIcon(im);
contentPane.add(lblNewLabel_1);
lblNewLabel_1.addMouseListener(this);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(0, 0, screenSize.width, screenSize.height);
}
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
if (e.getSource() == lblNewLabel_1) {
//il bordo dell'immagne diventa verde con il click
} else if (e.getSource() == lblNewLabel) {
//il bordo dell'immagne diventa verde con il click
}
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
}
Ho un schermo nero in full screen mode e due immagini e dovrei cliccare su una di queste.
E' giusto il codice?Vorrei che il bordo dell'immagine diventasse verde dopo il click. Come fare?