Toon posts:

probleem: JAVA applet maken

Pagina: 1
Acties:

Verwijderd

Topicstarter
Goedendag mede tweakers,

Ik, Sven, zit in 6 vwo en moet een profielwerkstuk maken. Nou ben ik bezig om in java een java programmaatje te maken die immaginaire getallen grafisch kan weergeven op de computer. Het is voor de handliggend dat je dan een java applet maakt, zodat het ook te zien in over internet.

Nu heb ik java "geleerd" dmv "Java in 21 days" maar het was niet helemaal volledig, wat geen enkel boek is. Ik ben dus maar gewoon gestart en ik zou wel kijken waar ik vast liep.

Nu heb ik een vraagje, ik heb al een stuk geschreven, hieronder is de source code gepost, maar ik zie alleen maar een x je in de html pagina, zou iemand daar een oplossing voor hebben.

Dit is wat ik tot nu toe al heb:

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import java.awt.*;

public class Gui extends java.applet.Applet {

    Canvas grafiek;
    GrafiekControls controls;
    
            
    public void init() {
    
        grafiek = new Canvas();
        controls = new GrafiekControls();
        
        setLayout(new BorderLayout());
        
        add("CENTER", grafiek);
        add("SOUTH", controls);
                
             
    }

    
    public void start() {
    }
    
    public void stop() {
    }
    
    
    class GrafiekControls extends Panel {
        
        Gui outerparent;
        TextField f1, f2;
        
        }   


}

__________________________________________________________________

Nu wil ik mijn verrichtingen kunnen volgen op een html pagina, dus ik include him op een pagina :

<HTML>
<HEAD>
<TITLE>Imaginaire getallen grafisch weergeven, Pws gemaakt door Sven Krabbenborg</TITLE>
</HEAD>
<BODY>
<P>Imaginaire getallen
<BR>
<APPLET CODE="Gui.class" WIDTH=640 HEIGHT=420>
There would be an applet here if your browser
supported Java.
</APPLET>
</BODY>
</HTML>

__________________________________________________________________

ik wil dus gewoon nu al de ge adde dingen zien, en als ik weer wat ad, bv een button dat ik na het compilen en het opnieuw openen van de webpagina de applet kan bekijken, doe ik dat zo goed? En hoe maak ik de applet zo dat ik dat kan doen, en wat moet er bij de source code zodat ik al wat kan zien

bij het compilen geeft hij geen fouten weer.
bij het builden geeft hij ook geen fouten weer.
maar als ik op run druk zegt hij :

java.lang.NoSuchMethodError: main
Exception in thread "main" Exit code: 1
There were errors

Wat doe ik fout ?

Bij voorbaat dank voor het helpen van deze beginnende programmeur :)

edit: ik gebruik trouwens j2sdk1.4.1_01
edit2: thx voor de quickstart tip, dat had ik nog nooit gezien, alleen de regels doorgelezen. (code is ook aangepast, er is wat toegevoegd, en hij geeft geen foutmeldingen meer, dank je Kompjoefriek, alleen nog steeds dat x je :'( )

[ Voor 45% gewijzigd door Verwijderd op 05-01-2004 11:17 ]


  • KompjoeFriek
  • Registratie: Maart 2001
  • Laatst online: 02-01 05:18

KompjoeFriek

Statsidioot

Je ziet dus een x op de pagina ipv de applet, en je vraagt je af waarom als je applet niet eens compileert?

Wat betreft je compile-errors, de compiler gaat opzoek naar een class GrafiekControls

eerst zoekt hij in de zelfde dir. als de code die je compileert, daarna in de import klasses.
vind hij nergens een klasse die GrafiekControls heet, dan krijg je dus deze error.

let goed op hoofdletter gebruik (ja, het is erg hoofdletter gevoelig) en of de klasse in de zelfde map staat (moet ook gecompileerd zijn hè ;))

en zet je code tussen code tags
(en voor specifieke code zet je dat er bij)
zoiets dus voor java
Java:
1
hier je code


btw, als de code tags nog niet helemaal duidelijk is, klik dan op het Afbeeldingslocatie: http://gathering.tweakers.net/global/templates/got/images/icons/view.gif icoontje bij mijn post, en kijk hoe ik het gedaan heb ;)

laat het ook ff weten als het gelukt is, en wat je fout gedaan hebt.
altijd makkelijk voor mensen die het zelfde probleem tegen komen en ook opzoek zijn naar het antwoord.

[ Voor 27% gewijzigd door KompjoeFriek op 05-01-2004 10:31 ]

WhatPulse! - Rosetta@Home - Docking@Home


  • Han
  • Registratie: Juli 2001
  • Niet online

Han

Doubt thou the stars are fire; Doubt that the sun doth move; Doubt truth to be a liar; But never doubt I love.


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Verwijderd schreef op 05 januari 2004 @ 10:14:

bij het compilen geeft hij geen fouten weer.
bij het builden geeft hij ook geen fouten weer.
maar als ik op run druk zegt hij :

java.lang.NoSuchMethodError: main
Exception in thread "main" Exit code: 1
There were errors

Wat doe ik fout ?
Ten eerste, een applet en een gewone applicatie zijn neit gelijk aan elkaar. Een gewone applicatie heeft een static main methode die wordt aangeroepen zodra een applicatie wordt gestart. Een applet heeft een run methode. De foutmelding die je hier geeft komt omdat je een applet probeert te draaien als een applicatie. Als je je applet buiten de browser wilt testen zul je de appletviewer moeten gebruiken. Deze zit in de bin dir van je jdk. Waarschijnlijk kun je ook in je IDE (ik neem tenminste aan dat je een IDE gebruikt aangezien je het over 'op run drukken' hebt) aangeven dat je met een applet bezig bent, en dan gebruikt de IDE zelf de applet viewer.

Het kruisje in je browser kan verschillende dingen betekenen. Het eerste wat ik je wil aanraden is om niet de applet tag te gebruiken. Tegenwoordig wordt voor een applet de object tag gebruikt. Het voordeel hiervan is dat automatisch de juiste jvm wordt opgehaald. Het omzetten is niet zo lastig. Hiervoor kun je HtmlConverter.exe gebruiken. Dit is ook een tootlje in de bin dir van de jdk.

Verder veel succes met je projectje ;)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
ok ik heb het html document ge convert, maar er staat nog steeds een kruisje, en ja je hebt gelijk, ik wist dat ik iets fout deed/ iets door elkaar haalde :) applet/ application, dankje voor de goede uitleg. Maar kan iemand me dan nog helpen met het feit dat ik dit nu al heb staan als applet, en in een html document heb staan, maar dat ik nog niets te zien krijg (zou dat wel moeten, wanneer ik geen kruisje zou krijgen ? Ik bedoel, zou er al wat te zien zijn?)

Ik gebruik RealJ voor het programmeren, alleen ik kan niet op "run applet" drukken dus in het programma zelf kan het niet atm.

Verder als ik op de applet viewer in de Bin dir klik, gebeurt er niets, er komt even een ms dos verstertje maar die is zo weer weg, en verder gebeurt er niets

Bvd

Sven

[ Voor 24% gewijzigd door Verwijderd op 05-01-2004 11:49 ]


  • momania
  • Registratie: Mei 2000
  • Laatst online: 00:28

momania

iPhone 30! Bam!

Verwijderd schreef op 05 januari 2004 @ 11:47:
Verder als ik op de applet viewer in de Bin dir klik, gebeurt er niets, er komt even een ms dos verstertje maar die is zo weer weg, en verder gebeurt er niets
Stap even uit de click generatie en open een losse prompt ;)

Start daar nog eens je appletviewer op en je zal een melding zien dat er wat parameters missen.
De rest kan je zelf wel invullen ;)

Neem je whisky mee, is het te weinig... *zucht*


  • KompjoeFriek
  • Registratie: Maart 2001
  • Laatst online: 02-01 05:18

KompjoeFriek

Statsidioot

maw:

Windows toets+R

c:/program files/j2sdk1.4.1_01/bin/appletvieuwer.exe c:/map waar je files staan/pagina.html

je zou ook een andere IDE (Integrated Development Enviroment) kunnen overwegen.

voor java gebruik ik Textpad. gewoon heel simpele text editor met kleurcodering en 3 sneltoetsen voor java
(ctrl+1 voor compileren, ctrl+2 voor run application en ctrl+3 voor run applet)

voor school gebruik ik nu BlueJ
best een makkelijke leer omgeving.

en verder heb je er nog 101 meer, en met het oog op drag en drop IDE kun je ook JBuilder van borland gebruiken.

[edit]
Kijk, met de code tags is je code in eens stukken duidelijker en overzichtelijker.

je code gaat pas fout bij het runnen. BorderLayout snapt namelijk niet wat je bedoelt met "CENTER" of "SOUTH".
In BorderLayout zijn speciaal daarvoor een aantal public abstract variabele voor gedefinieerd.
probeer het hier maar eens mee:
Java:
1
2
        add(grafiek,BorderLayout.CENTER);
        add(controls, BorderLayout.SOUTH);
en verder is het aan te raden om de API's van Sun er bij te nemen als je tegen problemen op loopt ;)

[ Voor 34% gewijzigd door KompjoeFriek op 05-01-2004 13:11 ]

WhatPulse! - Rosetta@Home - Docking@Home

Pagina: 1