Ho un codice con layout di griglia e due immagini JLabel. Non voglio che alcun testo appaia ogni volta che passo su ciascuna immagine. Ho familiarità su come farlo quando l'immagine non è una JLabel, ma ho cercato in tutto il web per scoprire come farlo mentre si tratta di una JLabel senza nome. Le due immagini mi wan't di avere, con plico separato più di messaggi sono:Rollover su JLabel che consiste di un'immagine all'interno della griglia?
ImageIcon(getClass().getResource("giraffe.png"));
Icon windows = new ImageIcon(getClass().getResource("windows.png"));
Ecco il mio codice:
public class giraffe implements ActionListener{
public void actionPerformed(ActionEvent event) {
JOptionPane.showMessageDialog(null,
"Press ok, and see the amazing giraffe outside a window!");
JDialog giraffewindow = new JDialog();
Icon giraffe = new ImageIcon(getClass().getResource("giraffe.png"));
Icon windows = new ImageIcon(getClass().getResource("windows.png"));
giraffewindow.setLayout(new GridLayout(1, 2, 0, 0));
giraffewindow.add(new JLabel (windows));
giraffewindow.add(new JLabel (giraffe));
giraffewindow.pack();
giraffewindow.setTitle("GIRAFFE!");
giraffewindow.setVisible(true);
giraffewindow.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
/*
* I want to have a rollover on EACH IMAGE so that when they rollover the image you see different text.
*/
}
grazie mille per il tempo che sta assumendo per la lettura di questo, Apprezzo molto lo sforzo che stai facendo per aiutare un collega programmatore!
Suppongo che sia necessario un 'MouseListener' per tenere traccia degli eventi' mouseEntered' e 'mouseExited' e modificare di conseguenza il testo dell'etichetta. Inizia con [Come scrivere un listener di mouse] (http://docs.oracle.com/javase/tutorial/uiswing/events/mouselistener.html) – MadProgrammer
'Ho familiarità su come farlo quando l'immagine non è una JLabel '- come faresti? – camickr
@MadProgrammer Non avrebbe dovuto creare la propria classe che estende JLabel, quindi implementare MouseListener da lì? –