2016-11-17 4 views
-1

Also lassen Sie uns sagen, ich habe einige Icon:Wie speichert man den Dateinamen eines Icons als String?

Icon something = new ImageIcon("somefile.png"); 

Und ich möchte, dass somefile.png in einigen Strings speichern. Wie mache ich das?

Offensichtlich kann ich nicht tun Icon.toString() oder zu werfen, so bin ich irgendwie ratlos durch was ich bin sicher, dass es eine einfache Lösung hat.

Danke!

+2

Also nehme ich an, dass Sie das Symbol nicht selbst erstellt haben, also können Sie nicht einfach 'String s =" somefile.png ";' vor dem Erstellen des Symbols? – azurefrog

+0

@azurefrog Nein, das würde die Dinge leider übermäßig komplizieren, weil die Icons auf JButtons platziert sind, die sie beim Anklicken vertauschen. – Zayne

Antwort

0

Wie Sie sehen hier: http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/javax/swing/ImageIcon.java

Der Dateiname geht direkt an die description -Field, was in der toString() verwendet wird. Versuchen Sie

String filename = something + ""; 

Was indirekt ruft die .toString().

+0

Vielen Dank! Hab nicht mal daran gedacht! – Zayne

+0

@azurefrog 'getDescription()' ist erlaubt für 'ImageIcon', aber nicht erlaubt für' Icon' und er hat gesagt, dass er nicht casten kann. –

+0

Wenn das Icon nicht garantiert ein ImageIcon ist, kann seine toString-Methode nicht beantwortet werden. – VGR

Verwandte Themen