Permalänk
Medlem

Java problem!!!

Tjena! Jag och några kompisar har ett problem. Vi håller på o programmerar ett spel som består utav ett rutnät. Rutnätet består av knappar som är definierade någonstans i koden. Problemet:

Vi vill lägga en bild på denna JButton.

Vi skriver: classroom.floortile[1][1].setIcon("link_run.gif"); men får fel då. Kompileringen säger:

Classroom.java:17: cannot find symbol
symbol : method dead(boolean)
location: class Floortile
classroom.floortiles[1][1].dead(true);
^
Classroom.java:19: setIcon(javax.swing.Icon) in javax.swing.AbstractButton cannot be applied to (java.lang.String)
classroom.floortiles[1][1].setIcon("link_run.gif");

Någon som kan hjälpa till?? Vi har ingen aning om vad som händer!!!!

Visa signatur

Intel i7 920 (D0) 2.66GHz @ 4GHz Noctua NH-U12P SE1366 | Corsair 6GB DDR3 Triple Channel XMS | Asus P6T SE | Radeon HD4870 1GB DDR5 | Samsung F3 500GB | Corsair 650W | Antec Three Hundred | 22" Benq

Permalänk
Medlem

Re: Java problem!!!

Citat:

Ursprungligen inskrivet av smorris
Tjena! Jag och några kompisar har ett problem. Vi håller på o programmerar ett spel som består utav ett rutnät. Rutnätet består av knappar som är definierade någonstans i koden. Problemet:

Vi vill lägga en bild på denna JButton.

Vi skriver: classroom.floortile[1][1].setIcon("link_run.gif"); men får fel då. Kompileringen säger:

Classroom.java:17: cannot find symbol
symbol : method dead(boolean)
location: class Floortile
classroom.floortiles[1][1].dead(true);
^
Classroom.java:19: setIcon(javax.swing.Icon) in javax.swing.AbstractButton cannot be applied to (java.lang.String)
classroom.floortiles[1][1].setIcon("link_run.gif");

Någon som kan hjälpa till?? Vi har ingen aning om vad som händer!!!!

Om ni tittar på dokumentationen så står det ju klart och tydligt att det ska vara en Icon .. så varför skickar ni med en String?

http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/AbstractB...

Läs alltid dokumentationen först!
Och ifall ni inte ens klarar av ett så simpelt fel så bör ni kanske lära er språket lite bättre ..

Visa signatur

Intel Core i7-3770K | NVIDIA Geforce GTX 980 | 16 GB DDR3 | DELL P2415Q | DELL U2711 | DELL U2410

Permalänk
Medlem

Ok! Vill bara säga att vi redan läst dokumentationen och enligt den skall JButton skrivas som JButton(Icon icon) så att man skall kunna skicka med en sträng men den tillåter det inte iaf.

Vi har läst och prövat alla kombinationer som går. Några fler förslag?

Kanske lösning till problemet??

Visa signatur

Intel i7 920 (D0) 2.66GHz @ 4GHz Noctua NH-U12P SE1366 | Corsair 6GB DDR3 Triple Channel XMS | Asus P6T SE | Radeon HD4870 1GB DDR5 | Samsung F3 500GB | Corsair 650W | Antec Three Hundred | 22" Benq

Permalänk
Medlem

Problem nummer 1 är att ni fösöker anropa en metod som ni inte har definierat: dead().
Sen så tar inte setIcon en sträng som argument utan en Icon. Läs lite här om hur man använder ImageIcon:

http://java.sun.com/docs/books/tutorial/uiswing/misc/icon.htm...

Permalänk
Medlem

Vi har definerat dead()

Visa signatur

Intel i7 920 (D0) 2.66GHz @ 4GHz Noctua NH-U12P SE1366 | Corsair 6GB DDR3 Triple Channel XMS | Asus P6T SE | Radeon HD4870 1GB DDR5 | Samsung F3 500GB | Corsair 650W | Antec Three Hundred | 22" Benq

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av smorris
Vi har definerat dead()

har ni verkligen skapat funktionen dead(boolean) i klassen?

Visa signatur

Intel Core i7-3770K | NVIDIA Geforce GTX 980 | 16 GB DDR3 | DELL P2415Q | DELL U2711 | DELL U2410

Permalänk
Medlem

japp mne i en annan fil och den är anropad.
classroom.floortiles[1][1].dead(true); <---- den säger att floortile (1,1) är upptagen.

Men hur lägger man en bild ovanpå en redan skapad JButton ? ??

Visa signatur

Intel i7 920 (D0) 2.66GHz @ 4GHz Noctua NH-U12P SE1366 | Corsair 6GB DDR3 Triple Channel XMS | Asus P6T SE | Radeon HD4870 1GB DDR5 | Samsung F3 500GB | Corsair 650W | Antec Three Hundred | 22" Benq

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av smorris
japp mne i en annan fil och den är anropad.
classroom.floortiles[1][1].dead(true); <---- den säger att floortile (1,1) är upptagen.

Men hur lägger man en bild ovanpå en redan skapad JButton ? ??

I en annan fil? .. Är ganska säker på att allt måste vara i samma fil, alltså en klass per fil.

Om ni tittar på dokumentationen för Button :
http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JButton.h... och funktionen setIcon(Icon), och den guiden som jnk3 postade så bör ni kunna lista ut hur ni ska göra.

Visa signatur

Intel Core i7-3770K | NVIDIA Geforce GTX 980 | 16 GB DDR3 | DELL P2415Q | DELL U2711 | DELL U2410

Permalänk
Medlem

Det jag menade var att vi har klassen i en fil.

Vi har kollat runt en massa men har inte listat ut felet. känns som om man går i cirklar!

Senast kollade vi på denna:

protected static ImageIcon createImageIcon(String path,
String description) {
java.net.URL imgURL = LabelDemo.class.getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL, description);
} else {
System.err.println("Couldn't find file: " + path);
return null;
}
}

om den nu hjälper. Har lite svårt o läsa av vad som man ska ändra om man ska använda den i sin egna kod.!

Visa signatur

Intel i7 920 (D0) 2.66GHz @ 4GHz Noctua NH-U12P SE1366 | Corsair 6GB DDR3 Triple Channel XMS | Asus P6T SE | Radeon HD4870 1GB DDR5 | Samsung F3 500GB | Corsair 650W | Antec Three Hundred | 22" Benq

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av smorris
Det jag menade var att vi har klassen i en fil.

Vi har kollat runt en massa men har inte listat ut felet. känns som om man går i cirklar!

Senast kollade vi på denna:

protected static ImageIcon createImageIcon(String path,
String description) {
java.net.URL imgURL = LabelDemo.class.getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL, description);
} else {
System.err.println("Couldn't find file: " + path);
return null;
}
}

om den nu hjälper. Har lite svårt o läsa av vad som man ska ändra om man ska använda den i sin egna kod.!

JButton knappMedIcon = new JButton();
ImageIcon icon = new ImageIcon("Pathen till bilden","beskrivning");
knappMedIcon.setIcon(icon);

Visa signatur

Intel Core i7-3770K | NVIDIA Geforce GTX 980 | 16 GB DDR3 | DELL P2415Q | DELL U2711 | DELL U2410

Permalänk
Medlem

Det du gör verkar vara att skapa en ny knapp. Vi har redan knapparna klara i en annan klass. Vi vill nu i en till annan klass lägga till bilder på vissa av knapparna.

T.ex [1][2] , men den klagar!

Alltså: Vi har knappar, Vi vill lägga bilder ovanpå de.

Visa signatur

Intel i7 920 (D0) 2.66GHz @ 4GHz Noctua NH-U12P SE1366 | Corsair 6GB DDR3 Triple Channel XMS | Asus P6T SE | Radeon HD4870 1GB DDR5 | Samsung F3 500GB | Corsair 650W | Antec Three Hundred | 22" Benq

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av smorris
Det du gör verkar vara att skapa en ny knapp. Vi har redan knapparna klara i en annan klass. Vi vill nu i en till annan klass lägga till bilder på vissa av knapparna.

T.ex [1][2] , men den klagar!

Alltså: Vi har knappar, Vi vill lägga bilder ovanpå de.

ImageIcon icon = new ImageIcon("Pathen till bilden","beskrivning");
KnappArray[1][2].setIcon(icon);

Visa signatur

Intel Core i7-3770K | NVIDIA Geforce GTX 980 | 16 GB DDR3 | DELL P2415Q | DELL U2711 | DELL U2410

Permalänk
Medlem

Tack för svaret. Fungerar utmärkt!!!

Visa signatur

Intel i7 920 (D0) 2.66GHz @ 4GHz Noctua NH-U12P SE1366 | Corsair 6GB DDR3 Triple Channel XMS | Asus P6T SE | Radeon HD4870 1GB DDR5 | Samsung F3 500GB | Corsair 650W | Antec Three Hundred | 22" Benq

Permalänk
Medlem

EDIT: Såg att ni fick till det nu.

Vad använder ni för editor? Mitt tips är att använda Eclipse som visar när man gjort sådana misstag. Man får dessutom ganska mycket hjälp av tex. code completion, integrerad javadoc osv. som kan vara bra när man håller på och lär sig ett språk.

Permalänk
Medlem

Alltså sitter på KTH. De kör sitt sketna Sun system. (Aldrig sett sämre)

Editorn heter Emacs tror jag. Där skriver vi koden iaf.

Visa signatur

Intel i7 920 (D0) 2.66GHz @ 4GHz Noctua NH-U12P SE1366 | Corsair 6GB DDR3 Triple Channel XMS | Asus P6T SE | Radeon HD4870 1GB DDR5 | Samsung F3 500GB | Corsair 650W | Antec Three Hundred | 22" Benq

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av smorris
Alltså sitter på KTH. De kör sitt sketna Sun system. (Aldrig sett sämre)

Editorn heter Emacs tror jag. Där skriver vi koden iaf.

Inget fel på Sun.
På LTU kör vi också sun i labsalarna och där finns då Eclipse installerat.
Skulle bli överaskad om ni inte har det inlagt också.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av smorris
Alltså sitter på KTH. De kör sitt sketna Sun system. (Aldrig sett sämre)

Editorn heter Emacs tror jag. Där skriver vi koden iaf.

Inget ont om datorsalarna på KTH. Dom är utmärkta!

Visa signatur

Datateknik på Kungliga Tekniska Högskolan.

Permalänk
Medlem

hehe aa utmärkta datorsalar.

De e riktigt sega!

Visa signatur

Intel i7 920 (D0) 2.66GHz @ 4GHz Noctua NH-U12P SE1366 | Corsair 6GB DDR3 Triple Channel XMS | Asus P6T SE | Radeon HD4870 1GB DDR5 | Samsung F3 500GB | Corsair 650W | Antec Three Hundred | 22" Benq