Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

Java - cannot find symbol

Skapad av Oliveran, 2012-04-04 14:21 i Webbutveckling & Programmering

3 114
11 inlägg
0 poäng
Oliveran
Visningsbild
P 30 Åkersberga Hjälte 5 719 inlägg
0
Hej.

Jag har en error i mitt javascript, och jag hittar inte felet. Jag visar koden och bold:ar felet.

En del av koden
Visa spoiler

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

public class Memory{

private JFrame frame;
private JPanel mainPanel;
private JLabel[] label;
private ImageIcon[] icon;
private ImageIcon frageIcon;

public Memory(){

/* Skapar frame */
frame = new JFrame();

/* Skapar panel */
mainPanel = new JPanel(new GridLayout(4,4));
frame.add(mainPanel);


/* Skapar variabler */
int i = 0;
int funna = 0;
int x = 0;
int samma = 0;
int bildsiffra[] = new int[50];

/* Skapar slots i label */
label = new JLabel[16];
for(i = 0; i < 16; i++){
label(i).addMouseListener(new Klicka());
}

/* Skapar och lägger till nya bilder */
icon = new ImageIcon[8];

icon[0] = new ImageIcon("blue.jpg");
icon[1] = new ImageIcon("red.jpg");
icon[2] = new ImageIcon("pink.jpg");
icon[3] = new ImageIcon("yellow.jpg");
icon[4] = new ImageIcon("orange.jpg");
icon[5] = new ImageIcon("purple.jpg");
icon[6] = new ImageIcon("black.jpg");
icon[7] = new ImageIcon("green.jpg");

while(funna < 16){

x = (int)(Math.random()*8);
samma = 0;

for(i = 0; i < funna; i++){
if(label[i].getIcon() == icon[x]){
samma++;
}//if
}//for

if(samma < 2){
label[funna] = new JLabel();
label[funna].setIcon(icon[x]);
mainPanel.add(label[funna]);
funna++;
}//if

}//while


/* Ger frame värden och avslutar frame */
frame.setVisible(true);
frame.setSize(800,800);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}//Konstruktor


Jag har två fel:
1. "Cannot find symbol" - label(i).addMouseListener(new Klicka()); - Error på Klicka
2. "Cannot find symbol" - label(i).addMouseListener(new Klicka()); - error på "label(i)"

Tacksam för hjälp.

Tillägg av Oliveran 2012-04-04 14:50

Java kod, inte javascript... JScript läste jag tidigare i skolan ju :(

You're my boo! ~

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

pr0n
Visningsbild
P Hjälte 5 588 inlägg
0
Svar till Oliveran [Gå till post]:
För det första så heter det inte Javascript, Javascript är något helt annat.
Och felet är för att du använder vanliga paranteser istället för hakparanteser.

byt ut label(i) mot label[ i ] så ska det problemet vara löst. Ska inte vara mellanrum i hakparanteserna, men HP ville göra texten kursiv om jag inte hade det.

Ingen status

Oliveran
Visningsbild
P 30 Åkersberga Hjälte 5 719 inlägg
Trådskapare
0
Svar till pr0n [Gå till post]:
Ja, de vill den.

ÅH vilken jävla idiot jag är. Tack så mycket! Är så enkelt att göra ett litet misstag här och var - är ändå stolt att det är mina enda errors i koden än så länge :)

Tack igen!

Detta löser dock inte problemet med "Klicka()" som jag har. Några idéer? Tittar själv just nu också.

You're my boo! ~

Sagan
Visningsbild
P 33 Hjälte 448 inlägg
0

Svar till Oliveran [Gå till post]:
Hur ser Klicka() problemet ut?

Ingen status

-------
Visningsbild
P 29 Linköping Hjälte 4 577 inlägg
0

Svar till Oliveran [Gå till post]:
Har du skapat en klass som heter Klicka?

Jag hette tidigare Ziron

omnibus
Visningsbild
Hjälte 685 inlägg
0
Hur ser klassen Klicka ut? Antar att den inte ligger i något library så det måste vara en klass du gjort själv.

Ingen status

Oliveran
Visningsbild
P 30 Åkersberga Hjälte 5 719 inlägg
Trådskapare
0
Svar till Sagan [Gå till post]:
"Cannot find symbol" - label(i).addMouseListener(new Klicka()); - Error på Klicka"


Svar till ImNoTree [Gå till post]:
Jaha, jag behövde initiera "Klicka" i koden också. Jag hade inte använt den än, utan hade bara "label[ i ].addMouseListener(new Klicka());, utan att den var använd.

Så det betyder att jag måste initiera alla klasser någonstans i koden innan jag kompilerar för att se om saker och ting fungerar?

You're my boo! ~

Sagan
Visningsbild
P 33 Hjälte 448 inlägg
0

Svar till Oliveran [Gå till post]:
Alltså det måste ju finnas en klass som heter Klicka som du har någonstans? Om klassen inte finns kommer koden ge error. Du måste initiera den ja.

Ingen status

omnibus
Visningsbild
Hjälte 685 inlägg
0
Svar till Oliveran [Gå till post]:
Mja, alltså "new Klicka()" betyder att du skapar ett objekt av klassen Klicka.

Det betyder alltså att du behöver skapa en klass som heter Klicka och som har konstruktorn "Klicka()". Vad klassen ska göra vet jag dock inte. :)

Ingen status

Oliveran
Visningsbild
P 30 Åkersberga Hjälte 5 719 inlägg
Trådskapare
0
Svar till ImNoTree [Gå till post]:
Jag initierade den genom att göra följande:
"public class Klicka implements MouseListener{
*massor med kod*;
}

och det funkade. Java bad mig alltså att ha något som använder den klass jag skapar, eftersom jag säger "new Klicka()" som inte gör någonting. Så den skapar något som JLabel måste ha som används, som bara låg där.

You're my boo! ~

Sagan
Visningsbild
P 33 Hjälte 448 inlägg
0

Svar till Oliveran [Gå till post]:
Java bad dig att skapa klassen Klicka mest sannolikt om jag har förstått det hela rätt. Det hade räckt med:
public class Klicka{

public Klicka(){
}


}

förmodligen. Sedan hade du kunnat lägga till MouseListener etc.


Ingen status


Forum » Datorer & IT » Webbutveckling & Programmering » Java - cannot find symbol

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons