Herausfinden ob setIcon gesetzt wurde

Network

Top Contributor
Hi,

wie die Überschrift schon sagt, suche ich eine Möglichkeit oder Befehl um herauszufinden, ob ein JLabel bereits mit einem Icon versehen wurde!

----------------- Beweggrund -----------------
Ich habe ein Programm indem man ein eckiges Objekt, beliebiger Form und Größe zeichnen kann. Der Inhalt soll nach Fertigstellung mit Bildern versehen werden. (Einfach um die Form auszufüllen)
Dabei beginnt mein Programm, jeweils links oder rechts von einem Strich, ein Bild zu setzen. In einer For-Schleife werden immer mehr bilder immer weiter jeweils rechts oder links angehängt.

Damit alles zuverlässig abläuft, wird jeweils von allen Seiten der Form solche Ketten gebildet.

Am Ende soll dann noch der Flächeninhalt ausgegeben werden - den man herausfindet, indem man beim setzen eines Bildes einfach einen Integer hochzählt.

Da aber von allen Seiten Bilder gesetzt werden. Werden oft Bilder auf Vorhandene Bilder gesetzt. Der Flächeninhalt ist dann selbstverständlich verfälscht.
----------------------------------------------
 
Vllt solltest du mal ein Blick in die Javadocs werfen? Wenn es um JLabel geht, dann würde ich JLabel (Java Platform SE 6) anschauen.
Aber generell das Vorgehen (welches ich wie gesagt nicht ganz verstehe) hört sich eher nach einer ziemlich spacingen Kreation an...
 
Vllt solltest du mal ein Blick in die Javadocs werfen? Wenn es um JLabel geht, dann würde ich JLabel (Java Platform SE 6) anschauen.
Aber generell das Vorgehen (welches ich wie gesagt nicht ganz verstehe) hört sich eher nach einer ziemlich spacingen Kreation an...

Danke.

Nur um das auch über die Bühne zu bringen. Eine zweite Erklärung, die evt. mehr Aufschluss bringt. Oder in Zusammenhang mit der ersten, Aufschluss bringt. Wer weiss.
=============
Programm -> Fenster -> Raster (karierter Bereich)
-> Man kann einzelne Linien des Rasters anmalen bzw. einzelne Randlinien, eines Quadrates von diesem Karierten Bereich. Indem man die Linie anklickt.
-> "Zeichnet" (Klickt) man sich nun eine Form zusammen, so soll die fertige entstandene Form, ausgemalt werden. Also wird von jedem angeklickten Strich, jeweils ein Bild in ein Quadrat gesetzt, dass sich innerhalb dieser Form befindet.
-> Damit alles zuverlässig läuft, wird dass von jedem Strich aus gemacht.
Jedoch soll das Programm kein Quadrat "anmalen", dass bereits angemalt ist.
 
Was ist denn "Quadrat" für ein Ding? Sind das alles JLabels? Je nach dem wofür du es brauchst kannst ja dein eigenes Objekt erstellen, dem du dann alle möglichen Zusatzfunktionen mitgibst, die du brauchst.
Generell solltest du aber nicht unbedingt die GUI als Speicherobjekt nutzen, sondern eben nur zur Darstellung von deinen Ergebnissen.
 
Was ist denn "Quadrat" für ein Ding? Sind das alles JLabels? Je nach dem wofür du es brauchst kannst ja dein eigenes Objekt erstellen, dem du dann alle möglichen Zusatzfunktionen mitgibst, die du brauchst.
Generell solltest du aber nicht unbedingt die GUI als Speicherobjekt nutzen, sondern eben nur zur Darstellung von deinen Ergebnissen.

Mit Quadrat meinte ich in der Erzählung, einfach um es zu verstehen, die vielen kleinen Quadrate die ein Raster bildet. Aber ja, in diesem Raster sind JLabels.

-----------

Achja ich mache nun folgendes um das zu lösen.
Die Lösung hab ich bereits bei früheren Problemen dieser Art angewendet, aber jedesmal dafür eine neue ArrayList zu erstellen und ins ganze Programm, wo sie gebraucht wird, zu implementieren ist nunmal immer sehr mühsam.

Lösung:
Wie gesagt ArrayList. Jedes dieser JLabels, eine ArrayList zuordnen. Diese enthält Strings, und diese Strings enthalten den derzeitigen Status des jeweiligen Objektes. In diesem Fall: "setIcon" oder "None"

Ich danke allen.
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben