Trädvy Permalänk
Medlem
Plats
Sverige
Registrerad
Maj 2009

ImageIcon

Har en kanske lite underlig fråga.
Undrar hur jag enklast kan lägga in en gif-bild i ett javaprogram?
Om jag t.ex deklarerat det jag vill skriva ut enligt följande:

import java.util.*; import static javax.swing.JOptionPane.*; enum Valuta { YEN('\u00A5'), PUND('\u00A3'); public final char symbol; Valuta(char c) {symbol=c;} }

Kan jag ändra det till ImageIcon, istället för Unicode?

Nu tog jag valuta som exempel, kom inte på något bättre för att beskriva min fråga.

Trädvy Permalänk
Medlem
Plats
i din garderob
Registrerad
Sep 2007

What? ImageIcon är en klass, Unicode är en textstandard.
Menar du att du vill göra om ett tecken till en bild?

edit: ok, jag tror jag förstår vad du menar. Vill du ladda bilderna dynamiskt beroende på vad du har för tecken i en sträng eller..?
edit2: nyss hemkommen från jobbet, snurrig i skallen.. Det lättaste sättet är att skapa en enum innehållandes relativa sökvägar till de bilder du vill använda. Sen skapar du din ImageIcon enligt

enum Valuta { YEN("/images/yen.gif"); DOLLAR("/images/dollar.gif"); ... } ... icon = new ImageIcon(Valuta.YEN);

Det borde väl funka?

Bilanaloger är som Volvo — varenda svenne kör med dem

Trädvy Permalänk
Medlem
Plats
Sverige
Registrerad
Maj 2009

Exakt, jag vill göra om ett tecken till en bild. Är inte helt på det klara med alla uttryck ännu Har dock aldrig använt ImageIcon förut så är inte helt säker på hur man skapar det, men får prova lite, så återkommer jag om jag får fler frågor!

Trädvy Permalänk
Medlem
Plats
Sverige
Registrerad
Maj 2009

Begriper inte riktigt hur jag skapar en ImageIcon? Någon som kan ge en bra beskrivning till mitt exempel?

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Maj 2007

Du har inget exempel, ju?

Sun tar ju upp det, ganska straight forward.

enum Valuta { YEN("images/yen.jpg"), DOLLAR("images/dollar.jpg"), KRONA("images/krona.jpg") } ... JLabel label = new JLabel( new ImageIcon( getClass().getResource(YEN.toString()), "Valutaikon för Yen" ) ); /* eller för att det ska bli tydligare: */ URL imageUrl = getClass().getResource(YEN.toString()); ImageIcon icon = new ImageIcon(imageUrl, "Valutaikon för Yen"); JLabel label = new JLabel(icon);

Trädvy Permalänk
Medlem
Plats
Sverige
Registrerad
Maj 2009

Har ett annat komplett exempel, men vill försöka förstå så mycket som möjligt själv, så jag ville inte lägga upp det på en gång. När jag försöker ändra enum till ".gif" så får jag felmedd. cannot find symbol, min JFrame ligger inte i samma program, utan i main-programmet. (Ber om ursäkt om förklaringen låter lite nybörjaraktig)