AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[JAVA] ImageIcon

Ein Thema von Dunedain · begonnen am 24. Mär 2007 · letzter Beitrag vom 25. Mär 2007
Antwort Antwort
Dunedain
(Gast)

n/a Beiträge
 
#1

[JAVA] ImageIcon

  Alt 24. Mär 2007, 21:34
Hab mal wieder en kleines Java Problem.

Ich habe ein ImageIcon, dessen Speicherort oder Dateinamen ich herausfinden muss.

Warum?
In einer Liste bestehen zwei Spalten nur aus ImageIcons. Die kann man ja nicht miteinander vergleichen (zum sortieren), deshalb wollte ich die Dateinamen vergleichen, wodurch sich die Icons leicht unterscheiden ließen. Leider hab ich keine Möglichkeit gefunden, die Dateinamen eines ImageIcon herauszufinden.

filename und location der ImageIcon.java sind private -_-

Hat jemand ne Idee wie ich an den Namen komme???
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: [JAVA] ImageIcon

  Alt 25. Mär 2007, 14:45
Zitat von Dunedain:
Ich habe ein ImageIcon, dessen Speicherort oder Dateinamen ich herausfinden muss.

Warum?
In einer Liste bestehen zwei Spalten nur aus ImageIcons.
Hi,
da stellt sich natürlich schon die Frage, wer die Liste füllt. Hast Du darauf Einfluss? Oder bekommst Du eine fertig gefüllte Liste und musst hier Icons vergleichen?

Zitat von Dunedain:
Leider hab ich keine Möglichkeit gefunden, die Dateinamen eines ImageIcon herauszufinden.

filename und location der ImageIcon.java sind private -_-
Auf die Eigenschaften kannst Du nicht zugreifen. Die sind (völlig zurecht) als privat deklariert. Das hat einen einfachen Grund, schau Dir einfach mal die Konstruktoren für ein ImageIcon an, da gibt es auch solche, die vollkommen ohne ein Dateinamen oder eine URL auskommen. Ändert also jmd. das Laden der ImageIcons ab, z.B. indem die Daten aus einem Archiv entnommen werden und direkt als Byte-Array übergeben werden, würdest Du weder die location noch den filename verwenden können. Die sind nur für das erstellen über eine Datei bzw. URL zuständig, was aber Implementierungsdetails sind, die nicht mit der Aufgabe eines ImageIcon zu tun haben!

Die Frage ist, wie man die ImageIcon Objekte erzeugt. In der Regel dürfte man hier auf das Singleton-Muster zurück greifen, man erzeugt also für jede Datei immer genau eine ImageIcon-Instanz. Die Liste wird dann nur mit Verweisen auf die jeweilige Instanz gefüllt. Damit spart man natürlich immens viele Ressourcen ein!
Ist dies der Fall, so sind hierüber einfache Vergleiche möglich (hier kannst Du wirklich direkt zwei Instanzen auf Gleichheit überprüfen). An sich kannst Du natürlich sogar soweit gehen und die Pixel (im Kontext des ColorModel) auf Gleichheit prüfen, aber das wäre wohl etwas übertrieben.

Am Einfachsten könntest Du allerdings die Überprüfung durchführen, wenn Du selbst Einfluss auf das Laden der ImageIcons Einfluss nehmen kannst. Hier könntest Du auf die ImageDecription zurückgreifen und etwas eindeutiges Eintragen oder einen Nachfahren der Klasse schaffen, der eine eindeutige Benennung speichert und über eine öffentliche Methode von außen lesbar macht.
Auf die privaten Variablen wird Du jedenfalls keinen Zugriff bekommen und wie gesagt, hier würdest Du ohnehin Gefahr laufen, dass Dein Programm inkorrekt arbeitet, sobald die ImageIcons nicht mehr aus einer Datei oder URL erzeugt werden würden.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Dunedain
(Gast)

n/a Beiträge
 
#3

Re: [JAVA] ImageIcon

  Alt 25. Mär 2007, 15:40
Hallo,

nein, ich habe nur indirekten Einfluss auf die Icons in der Liste. Die Liste stellt einen Verzeichnisinhalt dar: Name, Größe, letzte Änderung, Lesen- & Schreibrechte, das OS Icon für die Datei, die OS Beschreibung für die Datei und noch andere Werte.

Mir ging es darum, nach der Spalte der OS Icons sortieren zu können. Werde das jetzt aber anders lösen, da die Beschreibung des Dateityps für die jeweiligen Icons gleich ist, werde ich für das sortieren nach den OS Icons einfach nach der Beschreibung des Dateityps sortieren.

Zitat von Der_Unwissende:
...man erzeugt also für jede Datei immer genau eine ImageIcon-Instanz...
Hat mich mal eben auf nen bösen Programmierfehler aufmerksam gemacht
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz