Toon posts:

[JAVA] Probleem met Jcreator

Pagina: 1
Acties:
  • 338 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik moet een JAVA-applet maken met behulp van het programma Jcreator. Nu probeerde ik met dat programma een standaard applet te starten:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
import java.awt.*;
import java.applet.*;


public class K extends Applet {
    
    public void init() {
    }

    public void paint(Graphics g) {
        g.drawString("Welcome to Java!!", 50, 60 );
    }
}


Maar deze werkt niet, ondanks dat ik de fout niet zie, De foutmelding is
code:
1
2
3
4
5
6
7
--------------------Configuration: K - JDK version 1.6.0_01 <Default>--------------------
C:\Program Files\Xinox Software\JCreatorV4LE\MyProjects\Java\Java\K\src\K.java:13: '{' expected
public class $[PrjName] extends Applet {
              ^
1 error

Process completed.


Alvast bedankt, als iemand me uit de brand zou kunnen helpen.

  • dB90
  • Registratie: Oktober 2004
  • Laatst online: 04-10 00:10
Wel een beetje vaag idd... Heb je al gegoogled etc? Misschien dat één letter niet mag als classname? Maak ff een nieuw project, geef het een zinnige naam en kijk of het dan wel werkt. Ik zou het ook niet weten...

Webberry Webdevelopment


Verwijderd

Topicstarter
dB90 schreef op vrijdag 15 juni 2007 @ 21:54:
Wel een beetje vaag idd... Heb je al gegoogled etc? Misschien dat één letter niet mag als classname? Maak ff een nieuw project, geef het een zinnige naam en kijk of het dan wel werkt. Ik zou het ook niet weten...
Allemaal al geprobeerd - andere naam en dergelijke - en ook via Google was niets te vinden. Zelf hoorde ik dat het iets te maken zou hebben met directories, maar geen idee waar dat in te stellen zou moeten zijn.
Oh, for the record - Jcreator V4LE op Windows XP.

  • dB90
  • Registratie: Oktober 2004
  • Laatst online: 04-10 00:10
En als je naar die map browst en je klikt op compile project, komt er dan een .htm file enzo in die map? Zo niet dan is het output path misschien niet goed...?? Ik roep maar wat hoor, misschien even in project settings kijken :?

Webberry Webdevelopment


  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

De map /src/ moet iig de root van je classpath zijn. Kun je je .project (of hoe heet dat in JCreator? Iets van projectnaam.jcp) bestand eens laten zien? Daar zal wel eea in staan.

Heb overigens nooit iets met JCreator v4 gedaan btw, ben bij 3.5 overgestapt op Eclipse. Dat is toch wat geavanceerder. Maar JCreator werkte altijd wel lekker snel moet ik zeggen...

[ Voor 21% gewijzigd door JKVA op 15-06-2007 22:17 ]

Fat Pizza's pizza, they are big and they are cheezy


Verwijderd

Topicstarter
Hmm, ik snap 't niet helemaal. Het bestand 'K' staat nu in Program files / Xinox Software / JCreator4LE / MyProjects / Java / Java / K / src. Wat moet er dan veranderd worden?

Verwijderd

Ik weet niet welke stappen je allemaal al gevolgd hebt. In de manual staat hetvolgende:
  1. Create an Applet Class by clicking File > New > File > File Type > Java Classes > Applet Class.
  2. Enter a name and path for the applet and click Finish.
  3. Compile the file by pressing F7.
  4. Create an Applet HTML file by clicking File > New > File > File Type > Other > HTML Applet.
  5. Enter a name and path for the applet and click Finish.
  6. Open the HTML file in JCreator and modify the applet tag to match the name of the applet class.
  7. Open the Project Settings window and select the HTML file as the Run parameter.
  8. Click the Execute Project button.
Volgens mij probeer jij die applet als een gewone java klasse te draaien. In ieder geval ik heb je code eens in eclipse gedraaid (met K als klasse naam) en dat werkte perfect! Je moet de fout dus zoeken in de IDE, niet in de code. :)

edit: typo

Verwijderd

Topicstarter
Bij de eerste stap loop ik al vast. Ik klik file, new, maar dan heb ik niet de keuze uit de dingen die je zegt. Ik heb in dat venster nog wat dingen geprobeerd (eerst nieuwe workspace, toen nieuwe java file, toen nieuwe applet, erin gekopiëerd en wederom foutmelding)

This shit makes me desperate...

Verwijderd

Vreemd 8)7
Bij mij werkt dit dus. Ik moet niet eens al die speciale stappen uitvoeren. Misschien heb ik toch een andere versie. Ik doe dit op versie 4.00.028.

In ieder geval ik heb volgende code uitgevoerd:

Java: Test.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
import java.awt.*;

public class Test extends java.applet.Applet {
    
    /** Initialization method that will be called after the applet is loaded
     *  into the browser.
     */
    public void init() {
        // TODO start asynchronous download of heavy resources
    }

    public void paint(Graphics g) {
        g.drawString("Welcome to Java!!", 50, 60 );
    }
}


Probeer deze code in JCreator te compilen (niet uitvoeren) dit moet normaal wel lukken. Als je dan naar de directory gaat waar je .class bestand staat en daar een html bestand plaatst met onderstaande code in, kan je je applet in de browser bekijken.

HTML: pagina.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
    <head>
    </head>
    <body>
        <center>
            <applet
                code = "Test.class"
                width = "500"
                height = "300"
                >
            </applet>
        </center>
    </body>
</html>

Verwijderd

Topicstarter
Het compilen werkt niet. Hij blijft dezelfde foutmelding geven. Dus ik denk niet dat het dan veel zin heeft om hem in een browser te proberen te bekijken.

Verwijderd

Wat ik nog zou proberen:
  • Compile is gewoon van de command-line en check of hij nog die errors geeft.
  • Gebruik eclipse eens om te kijken of het daar niet werkt.

Verwijderd

Topicstarter
Ik heb zjuist Eclipse gedownload, daar werkt ie wel :D. Zal vanavond doorwerken - het programma ziet er niet eenvoudig uit en de opdracht moet binnenkort af. Bedankt iedereen :)

E: Hè, denk ik net datie werkt (wat ie min of meer ook doet), werken ActionListeners niet in Eclipse, oid...

[ Voor 24% gewijzigd door Verwijderd op 15-06-2007 23:29 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

Eclipse lijkt in principe vrij veel op JCreator. Je kiest of maakt bij het opstarten een workspace, dus je "Mijn Documenten" van Eclipse, waarin je al je projecten gooit. Dan maak je een nieuw project aan via file -> new -> project -> Java Project.

Dan begin je met het toevoegen van klassen aan je project. (ik zie trouwens dat ik ook gewoon een wizard heb voor applets, maar dat komt misschien door mijn plugins)

Als je je daarbij houdt, is eclipse niet moeilijk. Oja, eclipse compileert continu, dus je hoeft niet meer op F7 de drukken. De applet draaien doe je door met je rechtermuisknop op de klasse en dan Run as applet.

Verder moet je niet kijken, Source, Refactor en Navigate is voor meer gevorderde gebruikers.

Succes :)

Fat Pizza's pizza, they are big and they are cheezy


Verwijderd

Topicstarter
Dit is nu allemaal gelukt en ik krijg 't voor elkaar om in Ellips al wat programma's in elkaar te knutselen. Nu moet ik echter een opdracht maken om een multiple choice-programma voor leraren in elkaar te zetten. Mijn bedoeling hierbij was:
Invoervak voor de vraag + Invoervak voor goed antwoord + 3 invoervakken voor foute antwoorden. Hierbij 2 buttons, 'opnieuw invullen' en 'klaar met het invoeren van vragen'. Met 'opnieuw invullen kan de leraar de tweede vraag invullen, net zolang tot dat hij klaar is. Met 'Klaar met het invoeren van vragen' wordt er m.b.v. repaint de vragen op het scherm getoverd met de antwoorden. Hier moeten de antwoorden dan aangevinkt kunnen worden.

Dat is de globale opzet. Ik loop echter op twee punten vast. Ten eerste: de layout. Ik wil de diverse invoervakken onder elkaar hebben, maar met behulp van
code:
1
vraagvak.setBounds( 100, 60, 200, 60);

, waarbij ik telkens de getallen aanpas, lukt dat niet. Is er een manier om simpelweg te 'enteren'?

Ten tweede moet het programma de ingevoerde dingen dus opslaan. Ik heb nu het volgende:
code:
1
2
3
4
if( e.getSource () == knop ) {
        goedeantwoordvak.setText("");
        fouteantwoordvak.setText("");
        vraagvak.setText("");

Zodat er een nieuwe vraag kan worden ingevoerd, maar dan wordt er natuurlijk niets opgeslagen. Hoe kan ik dit het beste aanpakken?
Alvast bedank!

  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

Als ik het me goed herinner, gebruik je setLayout(null); om geen layoutmanager te selecteren. Dat is noodzakelijk als je setBounds wilt gebruiken. Bij een standaard flowlayout of gridlayout doet setBounds niets.

edit:

Oh, ik miste een stuk uit je vraag.
Opslaan vanuit een Applet is altijd leuk. Ik denk dat je iets serverside moet programmeren om mee te saven. Vanuit je Applet kun je dan een post doen naar de server met je gegevens.

[ Voor 36% gewijzigd door JKVA op 16-06-2007 15:17 ]

Fat Pizza's pizza, they are big and they are cheezy


Verwijderd

Topicstarter
JKVA schreef op zaterdag 16 juni 2007 @ 15:15:
Als ik het me goed herinner, gebruik je setLayout(null); om geen layoutmanager te selecteren. Dat is noodzakelijk als je setBounds wilt gebruiken. Bij een standaard flowlayout of gridlayout doet setBounds niets.

edit:

Oh, ik miste een stuk uit je vraag.
Opslaan vanuit een Applet is altijd leuk. Ik denk dat je iets serverside moet programmeren om mee te saven. Vanuit je Applet kun je dan een post doen naar de server met je gegevens.
Bedankt, het setLayout(null) werkte inderdaad. Maar ik zit nu nog steeds met het probleem dat ik antwoorden wil kunnen laten opslaan. Moet dat via een server? Daar heb ik totaal geen verstand van, is er geen eenvoudigere manier?

Alvast bedankt!

Verwijderd

Verwijderd schreef op zondag 17 juni 2007 @ 14:53:
[...]

Bedankt, het setLayout(null) werkte inderdaad. Maar ik zit nu nog steeds met het probleem dat ik antwoorden wil kunnen laten opslaan. Moet dat via een server? Daar heb ik totaal geen verstand van, is er geen eenvoudigere manier?
Als je er totaal geen verstand van hebt moet je er best eens wat over lezen. Gaat je veel meer helpen dan probleem per probleem (half) te zitten oplossen.
Applets hebben voor zover ik weet geen/beperkte toegang tot het lokale file system, dus als je er iets van context van wilt opslaan, zal dat inderdaad op de server moeten.
Edit: Layoutmanagers bestaan er voor een reden. En zonder layoutmanager werken is volgens mij alleen moeilijkheden zoeken. Ok, het is even werk om ze te begrijpen, maar eigenlijk werken ze wel gemakkelijk.

[ Voor 13% gewijzigd door Verwijderd op 17-06-2007 16:24 ]


Verwijderd

Topicstarter
Verwijderd schreef op zondag 17 juni 2007 @ 16:21:
[...]


Als je er totaal geen verstand van hebt moet je er best eens wat over lezen. Gaat je veel meer helpen dan probleem per probleem (half) te zitten oplossen.
Applets hebben voor zover ik weet geen/beperkte toegang tot het lokale file system, dus als je er iets van context van wilt opslaan, zal dat inderdaad op de server moeten.
Edit: Layoutmanagers bestaan er voor een reden. En zonder layoutmanager werken is volgens mij alleen moeilijkheden zoeken. Ok, het is even werk om ze te begrijpen, maar eigenlijk werken ze wel gemakkelijk.
Wat ik nu moet doen is voor het vak informatica en daarbij hebben we alleen een boek van zo'n 150 pagina's gekregen waar alleen de absolute basis instaat - en de opdracht de rest zelf maar uit te zoeken...
Overigens is het nu wel volledig gelukt met de layout. Deze werkt momenteel.

Verwijderd

Verwijderd schreef op zondag 17 juni 2007 @ 16:27:
[...]

Wat ik nu moet doen is voor het vak informatica en daarbij hebben we alleen een boek van zo'n 150 pagina's gekregen waar alleen de absolute basis instaat - en de opdracht de rest zelf maar uit te zoeken...
Overigens is het nu wel volledig gelukt met de layout. Deze werkt momenteel.
Tuurlijk, snappen we wel. Veel van ons hebben dat ook moeten doormaken. Maar voor Java staat er echt suuuperveel uitleg online. Dus als je een probleem hebt over een topic kan je dat heel gemakkelijk online opzoeken. Je hebt zelfs goede gratis boeken, bv. Thinking in Java van Bruce Eckel. Wat die layoutmanagers betreft: Het lukt je inderdaad zeker zonder, maar als je iets moet aanpassen ga je ineens alles moeten aanpassen, terwijl dat met een layoutmanager veel gemakkelijk is. Bv. als de size van je applet iets groter wordt gezet is zonder layoutmanager alles om zeep, met is dat normaal geen probleem.

  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

Check voor de grap maar eens:
http://java.sun.com/j2se/...va/awt/LayoutManager.html

Daar staan een berg layoutmanagers opgesomd. Voor de meeste gevallen is een flowlayout (de default layoutmanager) toereikend...

Verder kan ik alleen maar instemmen met dat je Java gewoon met een boek ofzo moet leren. Het gebruik van Applets, Servlets, applicaties, etc... leer je dan vanzelf wel met de API ernaast.

Fat Pizza's pizza, they are big and they are cheezy

Pagina: 1