Ich habe einen Code mit Rasterlayout und zwei JLabel-Bildern. Ich möchte, dass jedes Mal, wenn ich über jedes Bild rolle, ein Text erscheint. Ich weiß, wie man das macht, wenn das Bild kein JLabel ist, aber ich habe das ganze Web durchsucht, um herauszufinden, wie man das macht, während es ein unbenanntes JLabel ist. Die beiden Bilder I wan't zu haben, mit separaten Rolle über Meldungen sind:Rollover auf JLabel, die aus einem Bild im Rasterlayout besteht?
ImageIcon(getClass().getResource("giraffe.png"));
Icon windows = new ImageIcon(getClass().getResource("windows.png"));
Hier ist mein Code:
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.
*/
}
Vielen Dank für die Zeit, die Sie für das Lesen dieses einnehmen, Ich schätze die Bemühungen, die Sie einem anderen Programmierer geben!
Ich denke, Sie brauchen einen 'MouseListener', um die' mouseEntered' und 'mouseExited' Events zu verfolgen und den Text des Labels entsprechend zu ändern. Beginnen Sie mit [Wie schreibe ich einen Mouse Listener] (http://docs.oracle.com/javase/tutorial/uiswing/events/mouselistener.html) – MadProgrammer
'Ich bin vertraut, wie man das macht, wenn das Bild kein JLabel ist '- Wie würdest du das machen? – camickr
@MadProgrammer Müsste er nicht seine eigene Klasse erstellen, die JLabel erweitert, und dann MouseListener von dort implementieren? –