SWT Dateinamen von Imagefile herausfinden

Status
Nicht offen für weitere Antworten.

Miriam84

Mitglied
Hallo,

ist es möglich den Dateinamen einer Bilddatei zu erhalten welche man z.B. für ein Label mittels folgendem Code gesetzt hat. Ich programmiere eine eclipse RCP anwendung uns arbeite somiit mit SWT und JFace

Java:
Image locked= Activator.getImageDescriptor("icons/locked.gif").createImage();
label.setImage(locked)

Ich hätte also gern "locked.gif" oder meinetwegen auch nur "locked" zurück.
Wie ich an das Bild komme weiß ich aber nicht wie ich von dem Image zurück zum dateinamen komme. Gibts da ne Möglichkeit?
 

Ebenius

Top Contributor
Da gibt's keine Möglichkeit. Das liegt vor allem daran, dass ein Image gar keinen Dateinamen hat, lediglich die Quelle aus der das Image erzeugt wird hat einen Namen. Das Image selbst könnte genausogut errechnet worden sein, oder leer, oder ... Image enthält lediglich Informationen wie ein Bild dargestellt wird, nicht aber Meta-Informationen.

Ebenius
 

Miriam84

Mitglied
hallo,

danke für die schnell Antwort.

Schade ich dachte, wenn ich ein Bild mit dem Imagedescriptor erzeugen kann. kann ich über diesen Weg auch irgendwie den Dateinamen zurückbekommen. :(

Aber ok, dann bleibt mir wohl doch nur der Pixelvergleich.
 

KrokoDiehl

Top Contributor
Du könntest dein Problem anderweitig lösen indem du zB eine HashMap oder eine andere Datenstruktur nimmst, die deinem Problem angemessen ist.
Der folgende Code ist nur ein Beispiel, wie es in einem meiner Projekte gemacht wird. Allerdings brauchen wir da nicht mehr den Pfad eines Bildes. Vielleicht bringt es dich ja auf eine Idee.

Java:
public class ImageHandler
{
    protected HashMap<String, Image> imageMap = new HashMap<String, Image>();

    public Image loadImage(String imgName)
    {
        Image img = imageMap.get(imgName);
        if (img == null)
        {
            img = Activator.getImageDescriptor( imgName ).createImage();
            imageMap.put(imgName, img);
        }
        return img;
    }

    public String getImagePath(Image img)
    {
        // diese Richtung ist bei der HashMap eben doof... ;)
        for ( String key : imageMap.keySet() )
        {
            if ( imageMap.get(key).equals(img) )
                return key;
        }
        return null;
    }
                
}
 
G

Gast2

Gast
Du könntest auch einfach eine Klasse mit statischen Member machen die deine Bildernamen enthalten
 
S

SlaterB

Gast
statisch hier im Sinne von festes Klassenattribut, hoffentlich nicht static? ;)

und um auch zur Map noch meinen Senf hinzuzugeben:
auch eine Map<Image,String> ist denkbar,
ist sicher schneller, wenn man diese Richtung braucht
 
S

SlaterB

Gast
ich dachte es ginge um

public class ImageWithMeta {

public ImageWithMeta(Image image, String name) {
// in Klassenattributen speichern
}

}

meist du Konstanten?
public static String LOCKED = "icons/locked.gif";
wie könnten Konstanten bei der Zuordnung zu einem beliebigen Bild helfen?
 
G

Gast2

Gast
ich dachte es ginge um

public class ImageWithMeta {

public ImageWithMeta(Image image, String name) {
// in Klassenattributen speichern
}

}

meist du Konstanten?
public static String LOCKED = "icons/locked.gif";
wie könnten Konstanten bei der Zuordnung zu einem beliebigen Bild helfen?

Ja dachte an Konstanten. Zu einem beliebigen Bild bringt es natürlich nichts.

Ja klar wenn sie eine eigene Image Klasse macht dann natürlich Klassenattributen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H JFileChooser Dateinamen vorgeben (Save Dialog) AWT, Swing, JavaFX & SWT 9
P FileFilter auf Dateinamen AWT, Swing, JavaFX & SWT 1
P Swing Dateinamen im JFileChooser vorschlagen AWT, Swing, JavaFX & SWT 11
F Swing JFileChooser - Dateinamen nicht editierbar machen AWT, Swing, JavaFX & SWT 8
alderwaran jFileChooser showSaveDialog, dateinamen werden mit pfadnamen überschrieben beim navigieren AWT, Swing, JavaFX & SWT 1
T JFileChooser: beim Save Dialog einen Dateinamen vorgeben? AWT, Swing, JavaFX & SWT 6
C JFileChooser als SaveDialog mit vorgegebenem Dateinamen? AWT, Swing, JavaFX & SWT 3
M DropTargetDropEvent -> Dateinamen AWT, Swing, JavaFX & SWT 6
MiMa Netbeans Projektdatum herausfinden? AWT, Swing, JavaFX & SWT 3
J JavaFX von einem Array aus Buttons herausfinden auf welcher geklickt wurde aus dem Array. AWT, Swing, JavaFX & SWT 1
G 2D-Grafik Größe der JFrame Decorations herausfinden? AWT, Swing, JavaFX & SWT 4
B Applet Appletposition auf Bildschirm herausfinden AWT, Swing, JavaFX & SWT 2
A Swing Herausfinden ob bei JTree Klick auf "+"/"-" anahnd x,y AWT, Swing, JavaFX & SWT 2
C Mit SelectionListener herausfinden welche zeile in Jtable angeklickt wurde AWT, Swing, JavaFX & SWT 5
G Windows XP layout herausfinden AWT, Swing, JavaFX & SWT 7
B Swing JDialog : Herausfinden wie dieser beendet wurde? AWT, Swing, JavaFX & SWT 2
reibi SWT Breite Taskleiste herausfinden AWT, Swing, JavaFX & SWT 2
aze SwingConstants.Center Koordinaten für JLabel herausfinden AWT, Swing, JavaFX & SWT 6
J Swing LookAndFeel Klassenname herausfinden AWT, Swing, JavaFX & SWT 2
kirchrath Swing Aus ActionEvent Objekt herausfinden auf dem er ausgeführt wurde AWT, Swing, JavaFX & SWT 4
L Größe einer Componente herausfinden AWT, Swing, JavaFX & SWT 2
F Herausfinden, auf welchem Objekt der Fokus liegt AWT, Swing, JavaFX & SWT 2
G JTable Zeilenauswahl herausfinden AWT, Swing, JavaFX & SWT 9
M DropTargetDropEvent - Modifier Keys herausfinden AWT, Swing, JavaFX & SWT 4
M Monitorgrösse in mm herausfinden AWT, Swing, JavaFX & SWT 8
D Herausfinden auf welche Zeile in einer JTable geklickt wurde AWT, Swing, JavaFX & SWT 2
G aktuelle panel herausfinden AWT, Swing, JavaFX & SWT 7
A Herausfinden welches Document gesetzt ist AWT, Swing, JavaFX & SWT 4
G Status(minimiert, maximi) eines JInternakframes herausfinden AWT, Swing, JavaFX & SWT 3
F Herausfinden auf was zb ein JLabel platziert worden ist? AWT, Swing, JavaFX & SWT 2
S Ob IFrame bereits geöffnet herausfinden AWT, Swing, JavaFX & SWT 5
G Verursacher für Event herausfinden ? AWT, Swing, JavaFX & SWT 8
D gesetzten FileFilter herausfinden AWT, Swing, JavaFX & SWT 6
A JScrollPane - Sichtbare komponenten herausfinden AWT, Swing, JavaFX & SWT 3
G Alle Elemente eines JPanel herausfinden? AWT, Swing, JavaFX & SWT 3
Paule selektiertes Item einer JComboBox herausfinden AWT, Swing, JavaFX & SWT 3
Student Drag & Drop: Index nach verschieben herausfinden AWT, Swing, JavaFX & SWT 3
G Herausfinden, wie ein Fenster geschlossen wurde AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben