Bilder über Gridlayout im Fenster darstellen

hehnke

Grünschnabel
Hi,
bin neu und versuche, Java zu lernen...
Ich vertehe noch nicht ganz das Zusammenspiel von Frames, Layout-Managern und Grafiken.
Ich möchte einige (z.B.10) jpg-Bilder kachelförmig in einem Fenster anzeigen lassen und bei Mausklick auf die Bilder eine Action ausführen lassen (Bild unsichtbar machen). Ich verstehe nicht, wie ich Einfluss auf die Sichtbarkeit der Bilder nehmen kann (also wie man den Mouselistener auf dieses Bild focussiert). Ausserdem Hab´ich das mit Layoutmanagern auch noch nicht ganz gecheckt! Hier mein Code zur Erstellung und Anzeige zweier Bilder:
/* Aufuerung2.java */
import java.awt.*;
import java.awt.event.*;

class Aufuerung2

{
public static void main(String[] args)
{
Fenster wnd = new Fenster();
wnd.anzeige();
}
}


class Fenster
extends Frame
{
public void anzeige()
{
setTitle("GrafikBeispiel");
addWindowListener(
new WindowAdapter()
{
public void windowClosing(WindowEvent event)
{
System.exit(0);
}
}
);
setBackground(Color.lightGray);
setSize(600,400);
setVisible(true);
}

public void paint(Graphics g)
{
Image img1;
img1 = getToolkit().getImage("Bild1.jpg");
g.drawImage(img1,10,10,this);
Image img2;
img2 = getToolkit().getImage("Bild2.jpg");
g.drawImage(img2,300,40,this);
}
}
Kann ich das, was mit dewr paint-Methode zu tun hat in eine eigene Klasse setzen und darauf zugreifen? ... Vielleicht kann mir jemand helfen, am liebsten mit kleinen, voneinander abgegrenzten Klassen für kleine Aufgaben, dann check ich die Struktur von Java-Programmen besser!
Danke schon jetzt...
fh
Viele Fragen, sorry!
 
Eine Möglichkeit wäre, wenn du das nicht mit AWT machst, sondern mit Swing. Da kannst du dann die Bilder in einem JLabel darstellen und das ganze dann mit einem Layoutmanager ausrichten lassen.
Du kannst auch einem JLabel einen Listener hinzufügen, der dann auf deine Mausklicks reagiert.

MFG
zEriX
 
Zurück