Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich glaube ich verstehe nicht ganz, was du da eigentlich machen willst.
JLabel(ImageIcon icon) erstellt ja automatisch ein Bild, da musst du ja nicht mit dem Graphics-Object machen.
Wenn du nun mit dem Graphics Object selbst zeichnen willst, dann musst du ja kein JLabel nehmen, da tuts dann ja auch ein JPanel
Ich glaube ich verstehe nicht ganz, was du da eigentlich machen willst.
JLabel(ImageIcon icon) erstellt ja automatisch ein Bild, da musst du ja nicht mit dem Graphics-Object machen.
Wenn du nun mit dem Graphics Object selbst zeichnen willst, dann musst du ja kein JLabel nehmen, da tuts dann ja auch ein JPanel
Also, ich beschreibs mal kurz: Es sollen mehrere Images auf ein JPanel gezeichnet werden und die Images sollen dann per Maus verschoben werden können. Das Verschieben soll mit getComponentAt und if (image instanceof JPanel) gemacht werden, aber die Images sind doch keine Komponenten des Panels, oder doch??
Doch.
Die Images sind kein JPanel sondern Komponenten eines JPanels (oder eines anderen Containers).
Was du halt machen kannst ist ein eigenes JPanel das immer genau ein Bild enthält.
Also sowas wie:
public class ImagePanel extends JPanel
Die Klasse kann dann ja noch Bild-Beschriftung etc enthalten. Also alles was du so brauchst.
Die verschiedenen ImagePanel kannst du dann wiederum auf ein JPanel irgendeiner Art packen. Dieses JPanel dient wiederum als Container für deine ImagePanel usw.
Kurz ob ichs richtig verstanden hab:
Die Bilder sind zwar Komponenten eines JPanel, aber getComponentAt() und if ( Bild instanceof JPanel) funktioniert nur, wenn die Bilder in jeweils eigene ImagePanels gepackt werden?
Und die Panels positionieren geht dann mit NullLayout und setBounds, oder??
getComponentAt funktioniert für jede Komponente, ImagePanel ist ja auch nur ein JPanel. Ich könnte getComponentAt auch auf nem JTree aufrufen etc.
Wenn, dann nur:
if (JPanel instanceof ImagePanel)
So kannst du sicherstellen, dass das JPanel auch ein ImagePanel ist.
Wenn du die Bilder in eben diesen Panels hast, kannst du auch sichergehen dass das Objekt eben vom dem Typ ist, den du auch brauchst.