Avatar billede karsten_nymann Nybegynder
28. november 2002 - 12:18 Der er 10 kommentarer og
1 løsning

Hjælp til Jbuilder

Hej

Først skal siges jeg ved ikke ret meget om JBuilder eller Java.

Jeg skal bruge en Java applet til noget online skak.
Jeg ønsker at ændre lidt i koden, det tror jeg godt jeg kan finde ud af, men....

Kildekoden består af ChessBoard.java, ChessScoreKeeper.java og ChessMove.java

Jeg har lagt alle 3 filer ind i roden af et Project 'skak'.
Jeg kører så en Make ChessMove.java, det går fint.
Med Make ChessScoreKeeper.java får jeg følgende fejlmeddelelse hvad gør jeg galt?

Fejl: "ChessScoreKeeper.java": Error #: 300 : class ChessMove not found in class ChessScoreKeeper at line 184, column 12.

Håber der er nogen der har lyst til at hjælpe en stakkels uvidende.

Spørgsmålet er sikkert enkelt, men jeg regner med at stille flere spørgsmål løbende, derfor pointene.

/Karsten
Avatar billede disky Nybegynder
28. november 2002 - 12:37 #1
Ligger det i packages ?

hvis det gør husk at angiv det i dine filer.
Avatar billede arne_v Ekspert
28. november 2002 - 12:43 #2
Hvis der ikke er en package øverst i filerne, så skal
de ligge i src under roden.

Hvis der er en package aaa.bbb.ccc i toppen af filerne
skal de ligge i src/aaa/bbb/ccc.
Avatar billede karsten_nymann Nybegynder
28. november 2002 - 13:29 #3
Så skal jeg lige have fundet ud af hvad packages er, i topen af ChessScoreKeeper står der :

import java.util.Vector;
import java.util.Hashtable;
import java.util.StringTokenizer;

har det noget med dem at gøre?
Avatar billede arne_v Ekspert
28. november 2002 - 13:44 #4
ja og nej.

import java.util.Vector betyder at du kan
skrive Vector i koden i.s.f. det fulde navn
java.util.Vector, hvilket gør koden lidt
pænere.

java.util er en pakke, men den pakke som Vector
ligger i (og det er en pakke lavet af SUN).

Man angiver pakke in sin kode. Eksempel:

package min.pakke;

public class Test {
}

klassen Test ligger så i pakken min.pakke og
man kan enten referere til den med min.pakke.Test
eller lave en import min.pakke.Test og referere
til den som Test.

Det er meget vigtigt at directory struktur og pakke
struktur følges af (se mit første indlæg).
Avatar billede arne_v Ekspert
28. november 2002 - 13:45 #5
Hvis ikke der er en package statement i toppen,
så har filerne ingen pakke og skal ligge i src
(med normal JBuilder opsætning).

Og du bør kunne make/builde hele projektet, hvis
du har alle filerne.
Avatar billede karsten_nymann Nybegynder
28. november 2002 - 14:02 #6
Tak, det hjalp, nu kan jeg kompilere både ChessScoreKeeper.java og ChessMove.java. Jeg får dog stadig en fejl på ChessBoard.java:

"ChessBoard.java": Error #: 304 : reference to List is ambiguous; both interface java.util.List in package java.util and class java.awt.List in package java.awt match at line 232, column 5

kan du hjælpe mig med den så er der point og glade dage.
Avatar billede arne_v Ekspert
28. november 2002 - 15:53 #7
Det tyder ikke godt for kvaliteten af den kode du har
fundet.

I linie 232 må der optræde en List og JBuilder
kan ike regne ud om det er en java.util.List eller
java.awt.List.

Det kan du løse ved eksplicit at angive det ene
eller det andet.
Avatar billede karsten_nymann Nybegynder
28. november 2002 - 16:27 #8
Jeg har fundet en løsning på en tysk side. Jeg forstår det dog ikke helt (mit tyske er helt forfærdentlig) er der en der kan hjælpe lidt.

Eigentlich dürften die beiden Versionen keinen Unterschied machen. Bei den Änderungen oder Problemen, die von Sun beschrieben wurden, ist auch nichts dabei.
Vielleicht gibtst du mal im Quellcode statt der Kurzfassung List immer den kompletten Klassen/Interfacenamen an.
java.awt.List l = new java.awt.List();
Das sollte eigentlich helfen.
Avatar billede arne_v Ekspert
28. november 2002 - 16:50 #9
Der står en sludder for en sladder og så foreslår de
at man ændrer til:
  java.awt.List l = new java.awt.List();

Jeg formoder der idag står:
  List l = new List();
Avatar billede karsten_nymann Nybegynder
28. november 2002 - 16:57 #10
ok
Avatar billede karsten_nymann Nybegynder
28. november 2002 - 16:58 #11
tak for hjælpen, nu kan jeg komme igang
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester