[JAVA] JButton ImageIcon fungerar inte:S

Permalänk
Medlem

[JAVA] JButton ImageIcon fungerar inte:S

Hejhopp alla goa!

Sitter nu och håller på med mitt programmeringsprojekt, men har stött på ett litet jobbigt problem, vill ha en vis bild som ikon på en JButton men det vill bara inte:(

Tycker att koden ser rätt ut men ändå funkar det inte:/

Någon som kan se något fel i det jag skrivit som kan ha med det att göra?

package skeleton; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JPanel; public class Menu extends JPanel { public Menu() { JPanel menuPanel = new JPanel(); JButton button = new JButton("button"); menuPanel.add(button); JButton button2 = new JButton("button2", new ImageIcon("tarning.gif")); menuPanel.add(button2); add(menuPanel); } }

MVH miFFhoe!

Visa signatur

Burk Nr.1 : Asus P8Z68 V-Pro | i7 2600k @ 4,4 | EVGA GTX780 Classified | Corsair Vengeance 8GB DDR3 1600Mhz | Corsair Obsidian 650D | Corsair TX650M | Corsair H100

Burk Nr.2 : MSI P35 Neo2 | Core 2 Duo E6850 @ 3,2Ghz | Powercolor Radeon HD5850 1GB | Corsiar Twin2X 6400 2x2GB | Corsair 550W

Permalänk
Medlem

Felmeddelande eller syns bara inte ikonen? Gäller det en applet eller jar så måste man köra med:
JButton("tarning", new ImageIcon(new java.net.URL(this.getClass().getClassLoader().getResource("tarning.gif"))));

... enligt denna källa: http://leepoint.net/notes-java/GUI-lowlevel/graphics/45imagei...

Permalänk
Medlem

inte en applet iaf, bara det man får när man kompilerar:P

ska se ifall det funkar:)

Testat:

Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at skeleton.Menu.<init>(Menu.java:16)
at skeleton.Skeleton.<init>(Skeleton.java:23)
at skeleton.Skeleton.main(Skeleton.java:43)

Det funkade med andra ord inte:P

Innan fick jag inget felmedelande alls, bara syntes inget i knappet, och knappen blev väldigt liten:P

Visa signatur

Burk Nr.1 : Asus P8Z68 V-Pro | i7 2600k @ 4,4 | EVGA GTX780 Classified | Corsair Vengeance 8GB DDR3 1600Mhz | Corsair Obsidian 650D | Corsair TX650M | Corsair H100

Burk Nr.2 : MSI P35 Neo2 | Core 2 Duo E6850 @ 3,2Ghz | Powercolor Radeon HD5850 1GB | Corsiar Twin2X 6400 2x2GB | Corsair 550W

Permalänk
Medlem

Nej det lär ju inte fungera om det inte är en applet eller ett jar-paket. Fick du inte ut något av att läsa igenom länken?

I vilken mapp ligger din tarning.gif ? Jag vet inte vad du använder för kompilator eller miljö men om din kompilerade kod hamnar i \bin\ så hittar den ju inte bilden eftersom den letar efter \bin\tarning.gif som inte finns. Lägg bilden i bin-mappen, helt enkelt, och se om det funkar.

Permalänk
Medlem

miFFhoe, skriv in hela länken/adressen till filen.

Funkar det inte heller får du visa mig hur du skrev in länken/adressen till filen.

Är ganska säker på att det är adressen.

Visa signatur

I got YOU.

Permalänk
Medlem

Ska testa:)

men det konstiga e att det står precis så i exemplet i boken och på många andra ställen:O

Edit: Kan tillägga att jag har lyckats rita upp en annan bild, genom att skriva addressen till bilden på samma sett och båda ligger på samma ställe:/

Edit2: Har även testat länkens alternativ men inte heller det vill fungera:O

Edit3: Använder mig av Eclipse, så bilderna hamnar automatiskt i både bin och scr. Fan va jag stör mig på dethär:P

Visa signatur

Burk Nr.1 : Asus P8Z68 V-Pro | i7 2600k @ 4,4 | EVGA GTX780 Classified | Corsair Vengeance 8GB DDR3 1600Mhz | Corsair Obsidian 650D | Corsair TX650M | Corsair H100

Burk Nr.2 : MSI P35 Neo2 | Core 2 Duo E6850 @ 3,2Ghz | Powercolor Radeon HD5850 1GB | Corsiar Twin2X 6400 2x2GB | Corsair 550W

Permalänk
Medlem

Allt handlar om hur du har skrivit adressen.

Testade din kod och för mig funkade det.

Visa signatur

I got YOU.

Permalänk
Medlem

Ja det enda alternativet annars är väl att du sparat ner en korrupt gif-bild

Permalänk
Medlem

Ok:) kan jag få ett exempel på hur adressen ska skrivas?

Visa signatur

Burk Nr.1 : Asus P8Z68 V-Pro | i7 2600k @ 4,4 | EVGA GTX780 Classified | Corsair Vengeance 8GB DDR3 1600Mhz | Corsair Obsidian 650D | Corsair TX650M | Corsair H100

Burk Nr.2 : MSI P35 Neo2 | Core 2 Duo E6850 @ 3,2Ghz | Powercolor Radeon HD5850 1GB | Corsiar Twin2X 6400 2x2GB | Corsair 550W

Permalänk
Medlem

Har du provat att lägga tarning.gif i bin-mappen? Prova det och kör...

new ImageIcon(getClass().getResource("tarning.gif"))

...i din JButton-deklaration.

Permalänk
Medlem

Det funkade!:)

Tackar så hjärtligt för hjälpen:)

Visa signatur

Burk Nr.1 : Asus P8Z68 V-Pro | i7 2600k @ 4,4 | EVGA GTX780 Classified | Corsair Vengeance 8GB DDR3 1600Mhz | Corsair Obsidian 650D | Corsair TX650M | Corsair H100

Burk Nr.2 : MSI P35 Neo2 | Core 2 Duo E6850 @ 3,2Ghz | Powercolor Radeon HD5850 1GB | Corsiar Twin2X 6400 2x2GB | Corsair 550W