01. juli 2003 - 04:51Der er
34 kommentarer og 1 løsning
Java, Forte og noget, der vist er en begynderfejl
Jeg sidder med en Java-bog (Java, Java, java), og har tampet en programeksempel ind i filen FirstApplet.java. I Forte kan jeg endnu ikke (efter en times brug) regne ud hvordan jeg egentligt ser postfix på filerne, men jeg er ret sikker på at det er en .java-fil.
sourcekoden er:
/* * FirstApplet.java * * Created on 1. juli 2003, 04:28 */
public class FirstApplet extends Applet implements ActionListener { private Button clickMe; //the Button
public void init() { clickMe = new Button ("Click Me Not!"); //create the button clickMe.addActionListener(this); //activate the button add(clickMe); //add it to the applet } //init()
public void actionPerformed(ActionEvent e) { if (clickMe.getLabel().equals("Click Me!")) clickMe.setLabel("Click Me Not!"); else clickMe.setLabel("Click Me!"); } //actionPerformed } //end of FirstApplet
Fint nok, der er ingen fejl, når jeg compiler. Men jeg får en shitload af fejl, når jeg vil køre appletten:
java.lang.NoClassDefFoundError: examples/FirstApplet (wrong name: FirstApplet) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:486) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111) at java.net.URLClassLoader.defineClass(URLClassLoader.java:248) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:297) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286) at java.lang.ClassLoader.loadClass(ClassLoader.java:253) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313) Exception in thread "main"
Hm...hvis jeg skriver package examples; bliver running-fejlene barberet ned til:
java.lang.NoSuchMethodError: main Exception in thread "main"
Jeg har tidligere fået et vindue, der fortalte mig at min applet ikke var loaded, hvor jeg så kunne se HTML-koden, men dét er forsvundet etellerandet underligt sted hen. Jeg er meget i tvivl om hvordan jeg skal bruge Forte: Jeg vil sådan set bare gerne lave en Firstapplet.java, men hvis jeg skal vælge i de forskellige templates aner jeg ikke hvordan jeg finder rundt: Jeg kan stadig ikke finde de forskellige post-fixes. Der er rimelig stor sansynlighed for at jeg har oprettet projektet forkert, eftersom jeg ikke kan finde min HTML-kode nogen steder.
Jeg leder derfor også efter Det Helt Rigtige Sted på nettet, hvor man som begynder-begynder bliver oplært stille og roligt i hvordan man bruger Forte...hvis der er nogen, der lige kender dét sted.
Hm...problemet er, at jeg sådan set ikke er så skide interesseret i at lære Forte, som jeg er i at lære Java. Jeg prøver bare på at fange funktionerne og syntaksen i Java, og er foreløbigt kommet meget kort.
Hvis jeg vælger at benytte New | GUI Forms | AWT Form | Applet kommer GUI Forms slet ikke som valgmulighed, men dét gør vist ikke så meget: Jeg får en stump kode, som jeg så kan køre og som så viser et tomt vindue. Beklageligvis kan jeg ikke få lov at editere i dén kode, der vises, og jeg vil jo gerne lave dét eksempel, der er vist øverst i denne tråd. Det er det første eksempel i bogen...og jeg aner ikke hvor jeg skal proppe min kode ind. Jeg kan kun få lov at editere uden for de funktioner, der allerede er der...og så kan jeg f.eks ikke få noget til at passe med public class FirstApplet extends Applet implements ActionListener etc.
Kors...det er godt at der er ledning i min mus, ellers var den godt nok fløjet langt: Jeg vil bare lave "Mit første Program", og så skal jeg bruge flere timer på Forte....
Well, jeg får ganske rigtigt et HTML-vindue, men appletten bliver ikke initialiseret...og jeg får nøjagtigt de samme compilerfejl som i starten af denne tråd.
Hm...det er ikke Sun One, men nærmere Ralph Morelli, der er den store synder: Det er ham, der har skrevet en bog med kode-eksempler, der skal kunne køre vha. den medfølgende cd, uden at have givet et eneste hint til hvordan man skal sætte skidtet sammen i dét udviklingsmiljø, der foræres væk.
Facit: 1,5 times læsning (gik ok) 5 minutters kodeindtastning (gik fint) 2 dages brok med Forte
Hm...ikke sååå effektivt :o)
Tak for hjælpen...jeg er meget imponeret af hvor hurtigt I vender tilbage på mine spørgsmål.
Well, problemet med dén bog er at den bliver brugt til dét forberedende Java-kursus, jeg selv lige skal læse op i sommerferien, før jeg starter på "Videregående Programmering" på IT-højskolen (hvis jeg altså kommer ind). Jeg har fået 2 års undervisning i C++ på min datamatikeruddannelse, derfor burde dét ikke være det store problem.
Jeg er begyndt at bruge en simpel HTML-side, der loader mine applets, men af enelleranden underlig grund bliver jeg ved med at få "Class not found"-fejlbeskeder. Nå, det løser sig nok altsammen.
Jeg kan ikke programmere nok til at jeg ikke helst vil lære at kravle først...det lyder som om jeg har fået fat i en dårlig bog. Underligt, at det er dén, der er pensum.
"Det er målet, at du efter kurset har tilegnet dig følgende praktiske og teoretiske færdigheder:
Du skal kunne løse mindre programmeringsproblemer i Java. Til det formål skal du kunne benytte simple datatyper, tabeller, løkker, metoder, klasser og objekter. Du skal kunne skrive programmer med simple grafiske brugergrænseflader. Du skal kunne skrive programmer med simpel input/output. Du skal kunne anvende givne programbiblioteker. Derfor skal du kunne forstå en Java-klasses funktionalitet ud fra dens beskrivelse (dokumentation) og du skal forstå begreberne nedarvning (inheritance) og grænseflader (interfaces), inkl. metodesignaturer (method signatures) og undtagelser (exceptions).
Kurset behandler en lang række grundlæggende emner, eksempelvis Variable, typer, værdier. Udtryk og ordrer, løkker. Klasser og objekter. Grafiske brugergrænseflader. Tabeller Klassehierarkier, nedarvning, grænseflader. Appletter og grafik Rekursion Undtagelser (exceptions) Input/output operationer. "
Hvis du har bedre forslag end dén lortebog, jeg sidder med, er du meget, meget velkommen til at komme med dem...
Hmm - det der med at finde gode java bøger er vist en svær en, men en bog jeg selv synes er rimelig god og bredt dækkende er 'Java How To Program Third Edition' hos deitel http://www.deitel.com/books/downloads.html
Og jeg kan se at der er kommet en Fifth Edition, så mon ikke den er bedre du kan i hvertfald se beskrivelse af den på ovenstående link.
En fed moppe dreng på næsten 1200 sider så et eller andet må den indeholde.
Jeg har iøvrigt set den i en boghandel (men kiggede ikke i den).
Den har 4.5 stjerne hos Amazon og reviewene er generelt rimeligt positive som beginner bog (læs selv).
Synes godt om
Ny brugerNybegynder
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.