abonnement Unibet Coolblue Bitvavo
pi_33840548
Hij was er niet, hij is er nu wel. Het Java voor Dummies topic. Stel hier al je vragen over Java. Heb je interessante links, laat ze dan ook achter.
pi_33840553
Om maar meteen te beginnen, een vraag van mijn kant. Ik heb een array met daarin 256 getallen. Nu wil in die array de positie van het getal vinden dat het dichtste bij bijvoorbeeld het getal 12 zit.

Voorbeeld:
1
2
1  2  3  4  5  6 
2  5  9  12 14 18

Nu heb ik bijvoorbeeld als invoer het getal 8. 8 zit het dichtste bij 5 en 9. Maar het dichtste bij 9. 9 zit op positie 3, dus de uitkomst is 3.

Hoe kan ik dit nu in Java programmeren?
pi_33845733
Je moet ieder getal in de array aflopen en dat vergelijken met het getal dat je invoert.
Dus bv:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
int invoer = 8;
int index = -1;
int verschil = array[0] - invoer;
if(verschil < 0) -verschil;

for(int i = 1; i < array.length; i++){
     int x = array[i] - invoer;
     if(x < 0) -x;

     if(x <= verschil){
          verschil = x;
          index = i;
     }
}


Zo dus, denk ik. Niet getest, maar lijkt me te kloppen. Anders moet je de fouten er maar ff uithalen.
Een dag niet gelachen is een dag niet geleefd.
pi_33886825
quote:
Op zondag 8 januari 2006 19:25 schreef HuHu het volgende:
Om maar meteen te beginnen, een vraag van mijn kant. Ik heb een array met daarin 256 getallen. Nu wil in die array de positie van het getal vinden dat het dichtste bij bijvoorbeeld het getal 12 zit.

Voorbeeld:
[ code verwijderd ]

Nu heb ik bijvoorbeeld als invoer het getal 8. 8 zit het dichtste bij 5 en 9. Maar het dichtste bij 9. 9 zit op positie 3, dus de uitkomst is 3.

Hoe kan ik dit nu in Java programmeren?
Als je dit goed wilt programmeren maakt het uit of je array gesorteerd is of niet.
Zo ja, dan zou ik een andere methode gebruiken, anders die van Nietmachine.

NB het if-statement is te vervangen door int verschil = Math.abs(array[0] - invoer);
pi_33895077
Als de array idd gesorteerd is moet je anders zoeken. Pak de helft van de lengte van de array. Kijk of het getal groter of kleiner is dan je op te zoeken getal. Stel hij is klein, dan bekijk je het getal dat op een kwart ligt enzovoorts... tot je bij het getal bent dat het dichtste in de buurt is van je zoekwaarde.

Voordeel is dat je niet je totale array hoeft door te zoeken en dus werkt het sneller

-verkapte tvp-
pi_33903030
We hebben nu bij informatica een administratieprogramma moeten maken,
is het eigenlijk mogelijk om via jcreator of een ander programma dat project om te zetten in een "executable file" (.exe)?
pi_33904064
quote:
Op dinsdag 10 januari 2006 14:33 schreef Chimay het volgende:
We hebben nu bij informatica een administratieprogramma moeten maken,
is het eigenlijk mogelijk om via jcreator of een ander programma dat project om te zetten in een "executable file" (.exe)?
Omzetten naar een *.exe is zeer lastig in Java. Wat wel kan is er een uitvoerbaar *.jar bestand van te maken. Wel is dan vereist dat de computer waarop het programma draait Java geinstalleerd heeft.
pi_33905542
quote:
Op dinsdag 10 januari 2006 15:03 schreef HuHu het volgende:

[..]

Omzetten naar een *.exe is zeer lastig in Java. Wat wel kan is er een uitvoerbaar *.jar bestand van te maken. Wel is dan vereist dat de computer waarop het programma draait Java geinstalleerd heeft.
Jammer, ik kan me nog wel herinneren dat bij Turbo Pascal dit wel kon.
Heeft het ook niet te maken met het feit dat Java een object georiënteerde programmeertaal is en met classes enzo werkt?
  dinsdag 10 januari 2006 @ 16:03:32 #9
25527 FallenAngel666
Think of the kittens!
pi_33906141
quote:
Op zondag 8 januari 2006 19:25 schreef HuHu het volgende:
Om maar meteen te beginnen, een vraag van mijn kant. Ik heb een array met daarin 256 getallen. Nu wil in die array de positie van het getal vinden dat het dichtste bij bijvoorbeeld het getal 12 zit.

Voorbeeld:
[ code verwijderd ]

Nu heb ik bijvoorbeeld als invoer het getal 8. 8 zit het dichtste bij 5 en 9. Maar het dichtste bij 9. 9 zit op positie 3, dus de uitkomst is 3.

Hoe kan ik dit nu in Java programmeren?
Even een zijdelings opmerking, let er wel op dat een array index niet bij 1 begint, zoals je dat hier schets, maar bij 0
Signature:
Maximaal
4
regels
  dinsdag 10 januari 2006 @ 16:16:34 #10
25527 FallenAngel666
Think of the kittens!
pi_33906576
quote:
Op dinsdag 10 januari 2006 15:47 schreef Chimay het volgende:

[..]

Jammer, ik kan me nog wel herinneren dat bij Turbo Pascal dit wel kon.
Heeft het ook niet te maken met het feit dat Java een object georiënteerde programmeertaal is en met classes enzo werkt?
Nee.
Simpel gezegd: Java is platform onafhankelijk en om dat mogelijk te maken wordt gebruik gemaakt van platform specifieke Virtual Machines (bytecode interpreters) die de platform onafhankelijk bytecode interpreteren en de noodzakelijke systeem calls aanroepen op een bepaald native platform. Omdat Java niet gecompileerd wordt naar platform specifieke assembly code, maar naar platform onafhanklijke bytecode kan je niet om de Virtual Machine heen en kan je dus ook geen native executables bakken.
Signature:
Maximaal
4
regels
pi_33909507
quote:
Op dinsdag 10 januari 2006 14:33 schreef Chimay het volgende:
We hebben nu bij informatica een administratieprogramma moeten maken,
is het eigenlijk mogelijk om via jcreator of een ander programma dat project om te zetten in een "executable file" (.exe)?
Het is mogelijk met jBuilder van Borland om een .exe bestand te maken. Dit wordt daar een native executable genoemd. Het is dan echter alleen mogelijk dit bestand uit te voeren op computers waar jBuilder op geinstalleerd staat. Het is dus verstandiger om gewoon een jar te maken en een .bat bestand er bij te voegen imo.
pi_33909928
fuck, die grafische applicaties zijn nog niet zo simpel, en ik moet het tegen morgen kunnen
pi_33911155
Ik heb er dit van gemaakt, en dat werkt wel aardig volgens mij. De getallen in de array zijn inderdaad oplopend gesorteerd.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private int geefIndex(double[] array, double getal)
{
   int index = 0;
   while(array[index] < getal)
   {
      index++;
      if(index >= 255) return 255;
   }

   if(index == 0) return 0;

   if(Math.abs(array[index] - getal) < Math.abs(array[index - 1] - getal))
      return index;
   else
      return index - 1;
}
  dinsdag 10 januari 2006 @ 18:45:06 #14
52513 whosvegas
The Trickster
pi_33911702
quote:
Op dinsdag 10 januari 2006 15:03 schreef HuHu het volgende:

[..]

Omzetten naar een *.exe is zeer lastig in Java. Wat wel kan is er een uitvoerbaar *.jar bestand van te maken. Wel is dan vereist dat de computer waarop het programma draait Java geinstalleerd heeft.
In MS J# kun je wel een exe ervan maken. Maar dan heb je wel het .NET framework nodig om het uit te voeren.
Are you nuts??
pi_33913631
quote:
Op dinsdag 10 januari 2006 18:27 schreef HuHu het volgende:
Ik heb er dit van gemaakt, en dat werkt wel aardig volgens mij. De getallen in de array zijn inderdaad oplopend gesorteerd.
[ code verwijderd ]
was het niet algemeen geaccepteerd dat men in java altijd accolades/braces gebruikt bij if/while/do statements etc. ? Het is sowieso een goede eigenschap, vind ik om deze altijd te gebruiken.
- don't attribute to malice what can be adequately explained by incompetence -
pi_33914116
quote:
Op dinsdag 10 januari 2006 19:34 schreef Wouske het volgende:

[..]

was het niet algemeen geaccepteerd dat men in java altijd accolades/braces gebruikt bij if/while/do statements etc. ? Het is sowieso een goede eigenschap, vind ik om deze altijd te gebruiken.
Kwestie van voorkeur denk ik. Het is niet perse nodig bij een enkel statement (of combo daarvan) natuurlijk. Maar het overal plaatsen van de accolades is wel een goede eigenschap ja
pi_33915377
De meeste java projecten die ik ben tegengekomen sluiten zich allemaal aan bij de sun java code conventies of een lichte variatie daarop. Bijvoorbeeld alle jakarta projecten (apache java) beroepen zich ook op deze code conventies. In tegenstelling tot programmeertalen als C, wordt binnen de java gemeenschap code met een bijzonder accolade-gebrek toch als onaanvaardbare code beschouwd.
- don't attribute to malice what can be adequately explained by incompetence -
pi_33916574
Als je na een while / if / for méér dan 1 regel code in die lus wilt hebben, dan moet je accolades gebruiken. Dat doe ik ook bij de while.

Als je erna maar 1 regel code hebt, dan mag je ze gebruiken. Ik doe dat dus niet.

Het maakt in principe niets uit.
pi_33916818
quote:
Op dinsdag 10 januari 2006 20:47 schreef HuHu het volgende:
Als je na een while / if / for méér dan 1 regel code in die lus wilt hebben, dan moet je accolades gebruiken. Dat doe ik ook bij de while.

Als je erna maar 1 regel code hebt, dan mag je ze gebruiken. Ik doe dat dus niet.

Het maakt in principe niets uit.
Tja, het is anders wel een goede gewoonte om consequent te zijn in die dingen, dan kan je je ook niet vergissen.
pi_33917034
quote:
Op dinsdag 10 januari 2006 20:53 schreef Chimay het volgende:

[..]

Tja, het is anders wel een goede gewoonte om consequent te zijn in die dingen, dan kan je je ook niet vergissen.
Altijd leuk als iemand vervolgens een regel toevoegt met de juiste inspringing, maar zonder de accolades toe te voegen en na een half uurtje vraagt of je even kan kijken waarom ie het niet doet .
"If you are depressed you shouldn't be in C major!" - Rick Beato
pi_33917167
quote:
Op dinsdag 10 januari 2006 20:59 schreef Litpho het volgende:

[..]

Altijd leuk als iemand vervolgens een regel toevoegt met de juiste inspringing, maar zonder de accolades toe te voegen en na een half uurtje vraagt of je even kan kijken waarom ie het niet doet .
Dan maar hopen dat je java editor automatisch de fouten zoekt bij het compilen.
pi_33917210
quote:
Op dinsdag 10 januari 2006 21:02 schreef Chimay het volgende:

[..]

Dan maar hopen dat je java editor automatisch de fouten zoekt bij het compilen.
Dat is alleen geen fout dus tenzij het ding slim is vind hij het niet .
"If you are depressed you shouldn't be in C major!" - Rick Beato
pi_33917256
quote:
Op dinsdag 10 januari 2006 21:03 schreef Litpho het volgende:

[..]

Dat is alleen geen fout dus tenzij het ding slim is vind hij het niet .
idd, gelukkig nog nooit zoiets meegemaakt
pi_33922517
quote:
Op dinsdag 10 januari 2006 18:27 schreef HuHu het volgende:
Ik heb er dit van gemaakt, en dat werkt wel aardig volgens mij. De getallen in de array zijn inderdaad oplopend gesorteerd.
[ code verwijderd ]
Netjes, zal prima werken lijkt me. Alleen, al je arrays moeten nu wel (minstens) 256 getallen bevatten, anders krijg je een indexoutofboundsexception eh . Maar neem aan dat je array wel zoveel getallen bevat, anders was je wel al achter die fout gekomen .

@ de vraag over het maken van een exe: je kunt wel een exe maken, alleen start die intern dan weer de .jar file op. Je kunt niet om de .jar file heen. Om deze exe te maken kun je gebruik maken van JSmooth (http://jsmooth.sourceforge.net/).
Een dag niet gelachen is een dag niet geleefd.
pi_33922565
quote:
Op dinsdag 10 januari 2006 23:00 schreef Nietmachine het volgende:

[..]

Netjes, zal prima werken lijkt me. Alleen, al je arrays moeten nu wel (minstens) 256 getallen bevatten, anders krijg je een indexoutofboundsexception eh . Maar neem aan dat je array wel zoveel getallen bevat, anders was je wel al achter die fout gekomen .

@ de vraag over het maken van een exe: je kunt wel een exe maken, alleen start die intern dan weer de .jar file op. Je kunt niet om de .jar file heen. Om deze exe te maken kun je gebruik maken van JSmooth (http://jsmooth.sourceforge.net/).
laat al maar, ik voer het wel vanuit jcreator uit
  dinsdag 10 januari 2006 @ 23:07:32 #26
85129 dikkedorus
connaisseur van de wansmaak
pi_33922835
quote:
Op dinsdag 10 januari 2006 20:18 schreef Wouske het volgende:
De meeste java projecten die ik ben tegengekomen sluiten zich allemaal aan bij de sun java code conventies of een lichte variatie daarop. Bijvoorbeeld alle jakarta projecten (apache java) beroepen zich ook op deze code conventies. In tegenstelling tot programmeertalen als C, wordt binnen de java gemeenschap code met een bijzonder accolade-gebrek toch als onaanvaardbare code beschouwd.
patser
Mini smilies tool voor alle [sub] en [sup] liefhebbers.
pi_33923300
quote:
Op dinsdag 10 januari 2006 23:07 schreef dikkedorus het volgende:

[..]

patser
Gezien de hoeveelheid posts in SEX zal het nog wel meevallen met de nerderigheid
  dinsdag 10 januari 2006 @ 23:38:51 #28
85129 dikkedorus
connaisseur van de wansmaak
pi_33923962
Nerds kunnen ook kinky zijn toch? Misschien heeft ie veel hulp nodig?
Mini smilies tool voor alle [sub] en [sup] liefhebbers.
pi_33925144
niets nuttigs te melden zeker ?
- don't attribute to malice what can be adequately explained by incompetence -
  woensdag 11 januari 2006 @ 00:32:03 #30
10710 gday
propria cures
pi_33925563
quote:
Op dinsdag 10 januari 2006 18:27 schreef HuHu het volgende:
Ik heb er dit van gemaakt, en dat werkt wel aardig volgens mij. De getallen in de array zijn inderdaad oplopend gesorteerd.
[ code verwijderd ]
Ik zou de voorkeur geven aan een binary search. Jij wilt blijkbaar gewoon de array van voor tot achter doorlopen. Als je een beetje een grote array hebt of kunt hebben, kun je dat met een binary search veel efficienter doen.
A mathematician is a device for turning coffee into theorems. - Alfréd Rényi (1921-1970)
Weak coffee is only fit for lemmas. - Pál Turán (1910-1976)
  woensdag 11 januari 2006 @ 01:05:32 #31
47819 vbmot
Are those my feet?
pi_33926433
quote:
Op woensdag 11 januari 2006 00:32 schreef gday het volgende:

[..]

Ik zou de voorkeur geven aan een binary search. Jij wilt blijkbaar gewoon de array van voor tot achter doorlopen. Als je een beetje een grote array hebt of kunt hebben, kun je dat met een binary search veel efficienter doen.
Heb je het over red black tree en dergelijke algoritmes? In Java zit volgens mij ook een voorgebakken priority_queue container. Lekker makkelijk sorteren: getallen erin proppen en ze staan op volgorde.
Looking for hotspots: wardriving or whoredriving?
Personal spam: http://www.kenya2ndhand.com
pi_33930906
quote:
Op woensdag 11 januari 2006 00:32 schreef gday het volgende:
Ik zou de voorkeur geven aan een binary search. Jij wilt blijkbaar gewoon de array van voor tot achter doorlopen. Als je een beetje een grote array hebt of kunt hebben, kun je dat met een binary search veel efficienter doen.
Dat zei ik ook al in post 7. Alleen ik denk dat ik niet begrepen werd. Daarom heb ik ook maar een voorbeeldje gemaakt van een standaard binairy search. Deze search heb ik op het einde aangepast

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
//methode geeft het kleinste verschil tussen de gezochte waarde en een waarde die gevonden is in de array
  private int giveMinDifference(int[] array, int searchValue) {
    int bot = -1;
    int top = array.length;
    while (top - bot > 1) {
      int mid = (top + bot)/2;
      if (array[mid] <  searchValue) { bot = mid; }
      else { top = mid; }
    }
/*
tot zo ver is het standaard binairy search
wat ik hier onder doe is in onze rij getallen 1 naar voren gaan en bekijk
de volgende 3 getallen. Het getal met het kleinste verschil is je oplossing
Ik doe dit omdat je niet precies de garantie hebt dat je op het getal uit komt met
de waarde die het dichtste bij komt bij je gezochte waarde. Voor de mensen die het
niet geloven dat deze laatste stap ook noodzakelijk is kan ik een voorbeeld geven
*/
    top -=1;
    int dif = Math.abs(array[top]-searchValue);
    for(int i = 0;i<=2;i++) {
      int newDif = Math.abs(array[top+i]-searchValue);
      if ( newDif < dif ){
        dif = newDif;
      }
    }
    return dif; 
  }
pi_33950261
In de class java.util.Arrays zitten ook veel leuke handigheidjes op dit gebied. ik geloof dat er ook een binarySearch implementatie onder hangt. Kan weer een hoop typewerk schelen.
- don't attribute to malice what can be adequately explained by incompetence -
pi_33954598
Hmm eigenlijk niet naar gekeken. Wel moeten we er ff rekening houden dat dit voor dummies is, dus dat je soms beter een voorbeeldje neer kan zetten dan alleen uitleg te geven hoe ze iets moeten aanpakken. Ik bedenk me nu ook dat mijn voorbeeld hierboven ook niet helemaal goed werkt. Zowel aan de onderkant als aan de bovenkant kunnen immers indexOutOfBoundExceptions optreden, maargoed, het is dan ook maar het idee.
pi_33965395
Ik heb het al draaien en het werkt. Maar bedankt voor alle suggesties.

Een binarySearch is zeker efficienter, maar niet nodig voor deze situatie.
pi_34050131
Ik heb een vraagje over transparantie van JPanels.

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class ButtonTest {
  public static void main(String[] args) {
    ButtonFrame frame = new ButtonFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
  }
}

class ButtonFrame extends JFrame {
  public ButtonFrame() {
    setTitle("ButtonTest");
    setSize(300, 200);

    ButtonPanel panel = new ButtonPanel();
    add(panel);
    
    ButtonPanel2 panel2 = new ButtonPanel2();
    add(panel2);
  }
}

class ButtonPanel extends JPanel {
  public ButtonPanel() {
    setLayout(null);
    setOpaque(false);

    //create buttons
    JButton yellowButton = new JButton("yellow");
    
    //set location
    yellowButton.setBounds(10, 10, 50, 30);

    //add buttons to pane;
    add(yellowButton);

  }
}
  
class ButtonPanel2 extends JPanel {
  public ButtonPanel2() {
    setLayout(null);
    setOpaque(false);
    
    //create buttons
    JButton blueButton = new JButton("blue");

    //set location
    blueButton.setBounds(10, 40, 50, 30);

    //add buttons to pane;
    add(blueButton);

  }
}


Ik wil dat zowel ButtonPanel als ButtonPanel2 'doorzichtig' zijn. Hiermee bedoel ik dat hij alleen de componenten laat zien en geen background en dus de onderliggende panel ook deels zichtbaar is.
Hiervoor heb ik setOpaque(false) gebruikt wat zou moeten werken maar dat doet het niet.
Iemand die hier een oplossing voor heeft?




[ Bericht 0% gewijzigd door Sphere2k4 op 14-01-2006 19:12:27 ]
.
pi_34055789
quote:
Op zaterdag 14 januari 2006 16:07 schreef Sphere2k4 het volgende:
Ik heb een vraagje over transparantie van JPanels.
[ code verwijderd ]

Ik wil dat zowel ButtonPanel als ButtonPanel2 'doorzichtig' zijn. Hiermee bedoel ik dat hij alleen de componenten laat zien en geen background en dus de onderliggende layer ook deels zichtbaar is.
Hiervoor heb ik setOpaque(false) gebruikt wat zou moeten werken maar dat doet het niet.
Iemand die hier een oplossing voor heeft?
-edit-
pi_34102485
Er staat in de documentatie dat Opaque standaard al op false staat, dus de declaratie false erbij zetten zal niet je gewenste resultaat geven. Ik denk dat je moet zoeken binnen de methode setBackground(Color ..). Een van de interfaces van Color is namelijk de interface Transparancy en Color zelf heeft ook een methode getTransparancy()
  woensdag 18 januari 2006 @ 17:30:53 #39
25527 FallenAngel666
Think of the kittens!
pi_34208064
Over transparant gesproken, ik kwam dit artikel pas tegen:

http://www.onjava.com/pub(...)ks_hack41/index.html

Ik was hier zelf al een tijdje naar op zoek namelijk, dus ik dacht ik plaats hem even...
Signature:
Maximaal
4
regels
pi_34893187
Ik ben een beetje begonnen met het experimenteren met java mbv robocode.
dit tooltje heeft een eigen editor, API en compiler.

Maar het lijkt me verstandig om een in de praktijk veel gebruikte editor te gaan gebruiken om wat verder te kunnen gaan met experimenteren als alleen robocode en bekend te worden met een "echte" ontwikkeltool.
Dus mijn vraag is dan ook wat er in de praktijk veel gebruikt wordt om java te schrijven en te compilen, kom ik dan bij bijvoorbeeld eclips terecht of toch een editor van SUN?
zoals het potje thuis poept, poept het nergens
_-*-_-*_-*-_-*_-*-_-*_-*-_-*_-*-_-*_-*-_-*_-*-_-*
ACWW NWFC id: 2921-2609-9160 nick: tbone Town: Finetown
Fiets
pi_34893725
Eclipse. Wat mij betreft dé editor voor Java.
"If you are depressed you shouldn't be in C major!" - Rick Beato
  donderdag 9 februari 2006 @ 11:18:36 #42
25527 FallenAngel666
Think of the kittens!
pi_34893925
Feitelijk is het meer een kwestie van persoonlijke voorkeur. Zelf gebruikte ik altijd Borland JBuilder, omdat deze IDE ook op mijn opleiding gebruikt werkt en dat was handig met het uitwisselen van projecten. Op dit moment gebruik ik Eclipse en die vind ik zelf erg fijn.
Naast JBuilder en Eclipse heb ik ook weleens (in een grijs verleden) met VisualCafé gewerkt en die vond ik ronduit dramatisch
Dat is echter wel een tijd geleden, dus wellicht dat nieuwere versies beter zijn.
NetBeans heb ik zelf nog nooit gebruikt.
Signature:
Maximaal
4
regels
pi_34894044
VisualCafé hadden wij ook op de middelbare school ( ) maar nu gebruik ik gewoon Eclipse, erg fijn
pi_34894289
Op dit moment gebruik ik MS J# express
Over een weekje examen (Ontwerpen van algoritmen, met Java als taal)
Are you nuts??
pi_34894310
Eclipse gebruiken wij hier op werk veel.
  donderdag 9 februari 2006 @ 11:42:29 #46
13250 Lod
Sapere aude!
pi_34894503
Mijn voorkeur gaat persoonlijk meer uit naar een combinatie van BlueJ en/of netbeans. Eclipse voelt erg traag aan om één of andere reden.
En van BlueJ vind ik de grafische presentatie (UML-achtig) en relaties van de klassen onderling erg handig/geinig.
GNU Terry Pratchett
pi_34898217
Eclipse
Textpad
Toad
Ant

Maar Visual Age for Java vond ik ook goed werken.
Kon je tijdens het debuggen nog code wijzigen en dan nam hij dan gewoon in dezelfde run mee (begon de methode opnieuw).

Java heeft geloof ik ook wel zoiets, maar dat heeft nog nooit gewerkt bij mij
pi_34945009
quote:
Op donderdag 9 februari 2006 11:42 schreef Lod het volgende:
Mijn voorkeur gaat persoonlijk meer uit naar een combinatie van BlueJ en/of netbeans. Eclipse voelt erg traag aan om één of andere reden.
En van BlueJ vind ik de grafische presentatie (UML-achtig) en relaties van de klassen onderling erg handig/geinig.
Zo'n combo zou ik ook wel fijn vinden ja. Daarom bleef ik ook nog lang bij BlueJ, vanwege die overzicht. Maar de traagheid en bugs hebben me doen besluiten om toch maar naar JCreator Pro te gaan. Die is echt veel fijner ook dan BlueJ, op het UML na dan. Magoed, de rest weegt daar wel tegenop.
Een dag niet gelachen is een dag niet geleefd.
  zondag 12 februari 2006 @ 17:40:53 #49
108558 Messenga
goeiendag wat een geheel!
pi_35006297
Hoi!

Bij het volgende :

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
void VergrootButton_actionPerformed(java.awt.event.ActionEvent event)
   {
         tekst.setFont(Font("arial",18));
      UitvoerVeld.setText(tekst);
       
       
      // to do: Vergroot de tekst
      
   }

   void NormaalButton_actionPerformed(java.awt.event.ActionEvent event)
   {
       UitvoerVeld.setText(tekst);
       
       
      // to do: code goes here.
   }

   void VetButton_actionPerformed(java.awt.event.ActionEvent event)
   {
       tekst.setFont(BOLD);
      UitvoerVeld.setText(tekst);
      // to do: code goes here.
   }
}


Krijg ik in Visual Cafe de volgende fout:

1
2
3
4
5
6
7
8
Error: D:\Documents and Settings\naam\Mijn documenten\School\Opdracht 21\Applet1.java(141):  Method Font(java.lang.String, int) not found in class Applet1.
           tekst.setFont(Font("arial",18));
                             ^
Error: D:\Documents and Settings\naam\\Mijn documenten\School\Opdracht 21\Applet1.java(159):  Undefined variable: BOLD
        tekst.setFont(BOLD);
                      ^
2 errors
Build Failed


Hoe komt dit?
pi_35006570
Bedoel je niet new Font("arial",18) te willen schrijven ?
- don't attribute to malice what can be adequately explained by incompetence -
pi_35006854
En het moet ook zijn:

1tekst.setFont(Font.BOLD);
  zondag 12 februari 2006 @ 18:19:04 #52
108558 Messenga
goeiendag wat een geheel!
pi_35007719
Als ik jullie wijzigingen doorvoer krijg ik dit:

1
2
3
4
5
6
7
8
Error: D:\Documents and Settings\Niek de Jonge\Mijn documenten\School\Opdracht 21\Applet1.java(141):  Wrong number of arguments in constructor.
           tekst.setFont( new Font("arial",18));
                          ^
Error: D:\Documents and Settings\Niek de Jonge\Mijn documenten\School\Opdracht 21\Applet1.java(159):  Method setFont(int) not found in class java.lang.String.
        tekst.setFont(Font.BOLD);
                     ^
2 errors
Build Failed
pi_35007820
Klopt, de methode setFont (Font f) moet een Font als argument mee krijgen.

De constructor van Font vraagt 3 argumenten. Een string lettertype, een int stijl en een int size.

Dus iets als: setFont(new Font("Arial", Font.BOLD, 18));

Bovenin je klasse moet je import java.awt.Font; opnemen.
  zondag 12 februari 2006 @ 18:26:37 #54
108558 Messenga
goeiendag wat een geheel!
pi_35007958
Ik snap hem niet

Ik ben informatica newbie

je hebt..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
   void VergrootButton_actionPerformed(java.awt.event.ActionEvent event)
   {
         tekst.setFont( new Font("arial",18));
      UitvoerVeld.setText(tekst);
       
       
      // to do: Vergroot de tekst
      
   }

   void NormaalButton_actionPerformed(java.awt.event.ActionEvent event)
   {
       UitvoerVeld.setText(tekst);
       
       
      // to do: code goes here.
   }

   void VetButton_actionPerformed(java.awt.event.ActionEvent event)
   {
        tekst.setFont(Font.BOLD);
        UitvoerVeld.setText(tekst);
      // to do: code goes here.
   }


En wat moet het worden?
pi_35008578
Probeer dit eens:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  import java.awt.Font;
 
   void VergrootButton_actionPerformed(java.awt.event.ActionEvent event)
   {
         tekst.setFont(new Font("Arial", Font.BOLD, 18));
      UitvoerVeld.setText(tekst);
      // to do: Vergroot de tekst
   }

   void NormaalButton_actionPerformed(java.awt.event.ActionEvent event)
   {
       UitvoerVeld.setText(tekst);
      // to do: code goes here.
   }

   void VetButton_actionPerformed(java.awt.event.ActionEvent event)
   {
        tekst.setFont(new Font("Arial", Font.BOLD, 18));
        UitvoerVeld.setText(tekst);
      // to do: code goes here.
   }


Je moet inderdaad een Font object meegeven aan setFont en dat kan bijv. door new Font("Arial", Font.BOLD, 18) te schrijven - de constructor verwacht namelijk 3 parameters. Verder dien je bovenin de Font class te importeren. Visual Cafe heeft de neiging om dat niet te doen en zelf dingen te gebruiken uit andere classes door in de code dingen als "java.awt.event.ActionEvent" te zetten (ipv import te gebruiken).
pi_35008843
Wat ik nu wel zie is dat de Vergroot button nog niet noodzakelijkerwijs vergroot maar wel bold maakt
  zondag 12 februari 2006 @ 18:46:47 #57
108558 Messenga
goeiendag wat een geheel!
pi_35008885
Dan kent hij "Import" niet.
pi_35008962
quote:
Op zondag 12 februari 2006 18:46 schreef Messenga het volgende:
Dan kent hij "Import" niet.
Hmm, Java is hoofdlettergevoelig.. heb je import met kleine letter ook geprobeerd?
  zondag 12 februari 2006 @ 18:50:55 #59
108558 Messenga
goeiendag wat een geheel!
pi_35009112
quote:
Op zondag 12 februari 2006 18:47 schreef fallrite het volgende:

[..]

Hmm, Java is hoofdlettergevoelig.. heb je import met kleine letter ook geprobeerd?
Dat was ie al ik heb em vergroot, maar dan maakt die de punt tussen java en awt rood, dus is het een fout
pi_35009151
en uiteraard de import boven je klasse definitie plaatsen.
1
2
3
4
5
6
import java.awt.Font;

public class Opdrachtx {

.....
}
- don't attribute to malice what can be adequately explained by incompetence -
pi_35009292
Desnoods kun je ook geen gebruik maken van import en het vrolijk doen zoals Visual Cafe het vaker doet en dingen schrijven als:

1tekst.setFont(new java.awt.Font.Font("Arial", Font.BOLD, 18));


(dus met de packages en class naam ervoor)
  zondag 12 februari 2006 @ 18:59:14 #62
108558 Messenga
goeiendag wat een geheel!
pi_35009442
Wat is Java ook kut hé

Dan krijg ik dit:

1
2
3
4
5
6
7
8
Error: D:\Documents and Settings\Niek \Mijn documenten\School\Opdracht 21\Applet1.java(141):  Class java.awt.Font. Font not found.
            tekst.setFont(new java.awt.Font.Font("Arial", Font.BOLD, 18));
                                           ^
Error: D:\Documents and Settings\Niek de \Mijn documenten\School\Opdracht 21\Applet1.java(159):  Method setFont(int) not found in class java.lang.String.
        tekst.setFont(Font.BOLD);
                     ^
2 errors
Build Failed
pi_35009542
kleine typo zo te zien.. probeer het eens met java.awt.Font("Arial", Font.BOLD, 18)
of laat voor de volledigheid anders een je gehele klasse zien. dan zien we ook welk type o.a. je variabele "tekst" heeft.
- don't attribute to malice what can be adequately explained by incompetence -
pi_35009699


We proberen het opnieuw Aan de 2e foutmelding kan je zien dat ie dus wel z'n packages kan vinden dus de 1e foutmelding ligt niet aan het feit dat ie de betreffende package niet kan vinden. Het makkelijkst is toch om import te gebruiken. Je zou kunnen proberen om commentaar te maken van alle code die te maken heeft met fonts (dus // ervoor zetten) en dan alleen een import java.awt.Font; toe te voegen bovenaan je bestand. Als dat goed gaat dan weet je in ieder geval dat dat lukt - dan kun je de commentaar-// weghalen. En dan kun werken aan de code die het lettertype verandert.
pi_35009837
zo te zien probeert 'ie om setFont(int) uit te voeren op een java.lang.String klasse. Daarom lijkt het me handig als 'ie zijn volledige klasse even laat zien. Dat geeft wat meer context informatie.
- don't attribute to malice what can be adequately explained by incompetence -
pi_35009888
Als "tekst" van het type String is, dan lukt dat niet - ik verwachtte eigenlijk dat "tekst" van het type TextField o.i.d. was maar dan zou ik het "tekstVeld" noemen ofzo TextField bevat geen setFont() though. Maar de gehele code geeft wat meer houvast ja.

Edit: maar die krijgt setFont() van Component dus toch nog ok
  zondag 12 februari 2006 @ 20:13:07 #67
108558 Messenga
goeiendag wat een geheel!
pi_35012343
'T is gelukt door Huhu
pi_35022149
Nou proficiat, waar zat nou 't probleem ??
- don't attribute to malice what can be adequately explained by incompetence -
pi_35026799
quote:
Op maandag 13 februari 2006 00:05 schreef Wouske het volgende:
Nou proficiat, waar zat nou 't probleem ??
In VisualCafé, dat is gewoon bagger.

En verder had hij setFont op een String losgelaten ipv een TextField. Er zaten wat dingen fout met het ophalen en zetten van de tekst met het TextField. En hij had de verkeerde argumenten bij setFont meegegeven.

Ik heb de code helemaal herschreven voor hem, zodat het werkt en duidelijk is wat het doet. Of z'n docente ermee akkoord gaat komt hij nog wel achter. Het is in ieder geval duidelijk nu wat hij fout deed en hoe het wel moet.
pi_35038310
quote:
Op maandag 13 februari 2006 09:00 schreef HuHu het volgende:

[..]

In VisualCafé, dat is gewoon bagger.
[..]
Wij gebruikten dat op de middelbare school ook - om een beetje te pielen en knopjes neerzetten is het wel te doen maar verder zooit het met de code als gek Toen had ik nog geen verstand van dusja, zal wel met die code maja, als 'k nu die broncode terugzie
  dinsdag 14 februari 2006 @ 22:34:33 #71
51748 H4ze
wait...what?
pi_35092808
Kan iemand mij vertellen hoe ik in Java twee arrays merge? In php is hier gewoon een functie voor, in java kan ik deze niet vinden. FF simpel voorbeeldje van hoe ik 't wil:

1
2
int[] array1 = {1,2,3};
int[] array2 = {4,5,6};


Nu wil ik dus dat array3 bestaat uit {1,2,3,4,5,6}. Volgens mij moet dit echt heel simpel kunnen, maar ik kom er niet uit.
*BURP*
pi_35092956
array2.add(array1); volgens mij?
pi_35093674
quote:
Op dinsdag 14 februari 2006 22:34 schreef H4ze het volgende:
Kan iemand mij vertellen hoe ik in Java twee arrays merge? In php is hier gewoon een functie voor, in java kan ik deze niet vinden. FF simpel voorbeeldje van hoe ik 't wil:
[ code verwijderd ]

Nu wil ik dus dat array3 bestaat uit {1,2,3,4,5,6}. Volgens mij moet dit echt heel simpel kunnen, maar ik kom er niet uit.
Het zit niet default in Java. In Jakarta Commons Lang zit een class ArrayUtils die precies doet wat je wil, als volgt:

1int[] array3 = ArrayUtils.addAll(array1, array2);
"If you are depressed you shouldn't be in C major!" - Rick Beato
  dinsdag 14 februari 2006 @ 23:18:34 #74
51748 H4ze
wait...what?
pi_35094861
quote:
Op dinsdag 14 februari 2006 22:54 schreef Litpho het volgende:

[..]

Het zit niet default in Java. In Jakarta Commons Lang zit een class ArrayUtils die precies doet wat je wil, als volgt:
[ code verwijderd ]
Oke beter Ik heb dat nu gedownload, alleen waar gooi ik die zooi nu precies? Ik geloof dat die org/apache/commons/lang map ergens in de JDK map moet toch? In bin lukt niet... Op die site kan ik niet echt een beschrijving vinden van hoe of wat voor n00bjes zoals mij
*BURP*
  dinsdag 14 februari 2006 @ 23:21:05 #75
25527 FallenAngel666
Think of the kittens!
pi_35094964
Je kan eventueel ook slim gebruik maken van System.arraycopy()
Signature:
Maximaal
4
regels
pi_35095003
quote:
Op dinsdag 14 februari 2006 23:18 schreef H4ze het volgende:

[..]

Oke beter Ik heb dat nu gedownload, alleen waar gooi ik die zooi nu precies? Ik geloof dat die org/apache/commons/lang map ergens in de JDK map moet toch? In bin lukt niet... Op die site kan ik niet echt een beschrijving vinden van hoe of wat voor n00bjes zoals mij
Nee, je hoeft alleen de commons-lang-nogwat.jar in je classpath te zetten en vervolgens bovenaan je class import org.apache.commons.lang.ArrayUtils; te doen.

Gebruik je een editor (Eclipse, Netbeans, JBuilder) of compileer je je javacode van de command line?
"If you are depressed you shouldn't be in C major!" - Rick Beato
  dinsdag 14 februari 2006 @ 23:22:34 #77
51748 H4ze
wait...what?
pi_35095011
quote:
Op dinsdag 14 februari 2006 23:21 schreef FallenAngel666 het volgende:
Je kan eventueel ook slim gebruik maken van System.arraycopy()
Daar heb ik ook al mee zitten kloten..maar dat lukte dus niet (kennelijk weet ik dus niet hoe ik er slim gebruik van kan maken )
*BURP*
pi_35095072
quote:
Op dinsdag 14 februari 2006 23:21 schreef FallenAngel666 het volgende:
Je kan eventueel ook slim gebruik maken van System.arraycopy()
Ah ja, dat kan ook. Niet direct de meest intuitieve code, maar daar hadden we documentatie voor .

-edit- en je loopt tegen een ArrayIndexOutOfBoundsException aan omdat je de array niet oprekt.

[ Bericht 11% gewijzigd door Litpho op 14-02-2006 23:29:04 ]
"If you are depressed you shouldn't be in C major!" - Rick Beato
  dinsdag 14 februari 2006 @ 23:29:43 #79
51748 H4ze
wait...what?
pi_35095275
quote:
Op dinsdag 14 februari 2006 23:22 schreef Litpho het volgende:

[..]

Nee, je hoeft alleen de commons-lang-nogwat.jar in je classpath te zetten en vervolgens bovenaan je class import org.apache.commons.lang.ArrayUtils; te doen.

Gebruik je een editor (Eclipse, Netbeans, JBuilder) of compileer je je javacode van de command line?
via de commandline
quote:
Op dinsdag 14 februari 2006 23:21 schreef FallenAngel666 het volgende:
Je kan eventueel ook slim gebruik maken van System.arraycopy()
Zou je me misschien met wat verder opweg kunnen helpen met arraycopy? Ik ben toch wel benieuwd hoe ik 't kan doen mbv die functie, aangezien ik daar al mee aan 't kloten was.

Thnx voor de snelle reacties iig jongens!
*BURP*
pi_35095421
quote:
Op dinsdag 14 februari 2006 23:29 schreef H4ze het volgende:
Zou je me misschien met wat verder opweg kunnen helpen met arraycopy? Ik ben toch wel benieuwd hoe ik 't kan doen mbv die functie, aangezien ik daar al mee aan 't kloten was.
Was ik al mee bezig. Het is het handigst om even met de hand de nieuwe array aan te maken en dan de twee arrays er achtereenvolgens in te kopieren.

1
2
3
4
5
6
7
int[] array1 = new int[] { 1, 2, 3 };
int[] array2 = new int[] { 4, 5, 6 };

int[] array3 = new int[array1.length + array2.length];

System.arraycopy(array1, 0, array3, 0, array1.length);
System.arraycopy(array2, 0, array3, array1.length, array2.length);
"If you are depressed you shouldn't be in C major!" - Rick Beato
  dinsdag 14 februari 2006 @ 23:35:46 #81
51748 H4ze
wait...what?
pi_35095551
quote:
Op dinsdag 14 februari 2006 23:33 schreef Litpho het volgende:

[..]

Was ik al mee bezig. Het is het handigst om even met de hand de nieuwe array aan te maken en dan de twee arrays er achtereenvolgens in te kopieren.
[ code verwijderd ]
Het werkt Thnx!
*BURP*
  dinsdag 14 februari 2006 @ 23:36:11 #82
25527 FallenAngel666
Think of the kittens!
pi_35095568
Nieuwe array maken waar alle elementen uit de twee samen te voegen array in passen.

System.arraycopy(arrayEen,0,nieuweArray,0,arrayEen.length);
System.arraycopy(arrayTwee,0,nieuweArray,arrayEen.length,arrayTwee.length);

Zoiets?


Edit: spuit elf
Signature:
Maximaal
4
regels
  donderdag 16 februari 2006 @ 12:27:33 #83
51748 H4ze
wait...what?
pi_35148167
Hoe kan ik er in Java voor zorgen dat het uitvoeren van de 'rest' van de code helemaal stopt? In php kan die met die of exit, en ik dacht dat dit in java kon met System.exit(0); maar dat werkt dus niet...
*BURP*
pi_35148233
quote:
Op donderdag 16 februari 2006 12:27 schreef H4ze het volgende:
Hoe kan ik er in Java voor zorgen dat het uitvoeren van de 'rest' van de code helemaal stopt? In php kan die met die of exit, en ik dacht dat dit in java kon met System.exit(); maar dat werkt dus niet...
Dat werkt prima. System.exit(int status) aldus de javadoc .
"If you are depressed you shouldn't be in C major!" - Rick Beato
  donderdag 16 februari 2006 @ 12:35:27 #85
51748 H4ze
wait...what?
pi_35148402
quote:
Op donderdag 16 februari 2006 12:29 schreef Litpho het volgende:

[..]

Dat werkt prima. System.exit(int status) aldus de javadoc .
Ja idd..lag aan mij
*BURP*
  donderdag 16 februari 2006 @ 21:44:00 #86
51748 H4ze
wait...what?
pi_35168393
Oke ik heb nog een vraag

Ik wil een element uit een array verwijderen. Ik heb al geprobeerd om het betreffende element naar null te zetten, en dat werkt geloof ik ook wel. Punt is dat ie dan dus puur het element naar null zet en niet echt verwijdert uit de array. Gevolg is dat ik een nullpointerexception krijg, aangezien er bepaalde elementen worden gebruikt om mee te rekenen (er wordt een vermenigvuldiging uitgevoerd en een integer*null kan natuurlijk niet).

Ik heb verder al gegoogled, maar kwam eigenlijk alleen maar de unset() functie uit PHP tegen :p . In javadocs ook niet veel gevonden (maar misschien ben ik wel scheef).

Wie helpt?

edit: al opgelost nullpointerexception catchen enzo.

[ Bericht 9% gewijzigd door H4ze op 16-02-2006 21:55:51 ]
*BURP*
pi_35169419
Dat is natuurlijk niet echt netjes.

Als je een array hebt heeft die mestal verwijzingen naar objecten, pointers dus. Dit is alleen niet zo als je een array van ints / booleans e.d. hebt natuurlijk). Als je een index in de array op null zet zeg je dus gewoon dat die index geen verwijzing naar een object meer houdt. Dat object is dan niet meer via de array toegankelijk en als er verder geen verwijzingen naar zijn dan is het object voer voor de garbage collector.

Verder kan ik natuurlijk niet echt beoordelen hoe je het beter op zou kunnen lossen omdat ik geen idee heb wat je wilt.
Ow, bedenk me net. Je kunt natuurlijk ipv de array ook een ArrayList gebruiken, daar kun je echt objecten uit verwijderen. Maar als jij nu een int (oid) array gebruikt wordt een ArrayList weer iets gecompliceerder.

Trouwens, je System.exit(int x) zorgt ervoor dat de virtual machine afsluit eh, ik weet niet precies wat je wilt met "de rest van de code niet meer uitvoeren" maar als het programma nog moet blijven draaien moet je kijken naar een return statement, of break / continue voor lussen.

[ Bericht 10% gewijzigd door Nietmachine op 16-02-2006 22:18:40 ]
Een dag niet gelachen is een dag niet geleefd.
  donderdag 16 februari 2006 @ 22:34:36 #88
51748 H4ze
wait...what?
pi_35170497
quote:
Op donderdag 16 februari 2006 22:09 schreef Nietmachine het volgende:
Trouwens, je System.exit(int x) zorgt ervoor dat de virtual machine afsluit eh, ik weet niet precies wat je wilt met "de rest van de code niet meer uitvoeren" maar als het programma nog moet blijven draaien moet je kijken naar een return statement, of break / continue voor lussen.
Ghehe ja daar was ik ook achter gekomen Ik had dat trouwens puur nodig voor een test.

Verder weet ik dat de oplossing die ik nu gebruik niet echt netjes is. Ik zal ff wat toelichting geven waarmee ik bezig ben.

Ik moet voor school een webshop maken in JSP+Servlets. Dit is voor mij een nieuwe omgeving, dus het is/was veel experimenteer geblazen. Ik verzorg het winkelmandje/kassa, factuurmailing en vermindering in de DB van de gekochte producten.

Ik maak nu gebruik van een array die in een sessie wordt opgeslagen. Deze array bevat steeds de productnaam, merk, prijs en aantal. Het probleem wat ik hierboven had, had te maken met het verwijderen van een 'geheel product' uit het winkelmandje (en dus elementen uit de array verwijderen). Ik heb 't nu zo gedaan: als er in de jsp op 'verwijder' naast een product wordt geklikt, dan wordt het ID meegestuurd naar de servlet. Deze ID komt overeen met de index van de productnaam. Voor het merk, prijs en aantal doe ik die ID respectievelijk +1,+2 en +3. Die elementen zet ik dan naar null. Vervolgens gaan we weer terug naar de JSP file. Als de jsp hier ziet dat een element = null, dan print ie dat element niet.

De code die ik nu heb is dus zeker niet elegant/mooi, maar werkt wel. Ik heb nu geen tijd meer om het mooier te maken, aangezien de deadline al erg dichtbij is.
*BURP*
pi_35172389
Ik weet vrijwel niets van JSP/servlets. Maar een class product maken met daarin het id / merk / prijs etc. En die dan toevoegen / verwijderen uit een ArrayList.

Maar kan zijn dat ik nu uit m'n nek zit te lullen ivm het JSP/servlet gebeuren .
Een dag niet gelachen is een dag niet geleefd.
  donderdag 16 februari 2006 @ 23:28:00 #90
51748 H4ze
wait...what?
pi_35172737
Mja je gebruikt dus gewoon Java code in Servlets
*BURP*
pi_35173026
quote:
Op donderdag 16 februari 2006 23:28 schreef H4ze het volgende:
Mja je gebruikt dus gewoon Java code in Servlets
Ja, dat weet ik. Maar verder weet ik niets zeker, dus ben ik maar voorzichtig .
Een dag niet gelachen is een dag niet geleefd.
  vrijdag 17 februari 2006 @ 00:19:50 #92
25527 FallenAngel666
Think of the kittens!
pi_35174578
quote:
Op donderdag 16 februari 2006 23:35 schreef Nietmachine het volgende:

[..]

Ja, dat weet ik. Maar verder weet ik niets zeker, dus ben ik maar voorzichtig .
Een Servlet is een Java klasse die de Servlet interface (J2EE SDK) implementeert niets meer of minder.
Verder standaard java
Signature:
Maximaal
4
regels
pi_35175264
Als je het echt mooi wil doen moet je gebruik maken van struts. Struts geeft je een enorme efficiente manier van code onderhouden doordat je bijvoorbeeld alle links in een aparte xml bijhoudt. Je linkt dus niet meer naar blabla.html maar naar blabla.do
Via de xml weet de webserver dat blabla.html wordt bedoeld. Mocht je ooit besluiten dat er nog een pagina voor blabla.html moet komen, dan hoef je niet al je pagina's meer door te lopen. Verder is het reuze eenvoudig om form validaties te doen e.d. Struts rules.

* snabbi gebruikt voor zijn webapplicaties tomcat als webserver, jboss als applicatie server en mysql als database server.
  vrijdag 24 februari 2006 @ 19:48:18 #94
108558 Messenga
goeiendag wat een geheel!
pi_35454747
hai! ik had ook weer eens een vraagje.


Mijn probleem is :

Hij kan alles goed doen, maar welk getal ik ook invul, op welk teken ik ook klik ( /,*,-,+). Hij wil de uitkomst niet in het uitkomstveld geven.

Wat doe ik mis?
Screenie :


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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
   }
   }

   void TellerVeld_actionPerformed(java.awt.event.ActionEvent event)
   {
      // to do: code goes here.
   }

   void NoemerVeld_actionPerformed(java.awt.event.ActionEvent event)
   {
       
   
      // to do: code goes here.
   }

   void PlusButton_actionPerformed(java.awt.event.ActionEvent event)
   { String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
        int n = Integer.parseInt(noemer);
        int t = Integer.parseInt(teller);
      int u = n + t;
   UitkomstVeld.setText("" + u);

   
      // Hij doet de noemer + de teller en geeft de uitslag.
   }

   void MinButton_actionPerformed(java.awt.event.ActionEvent event)
   {String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
      int n = Integer.parseInt(noemer);
        int t = Integer.parseInt(teller);
        int u = n - t;
      UitkomstVeld.setText("" + u);

   
      // Hij doet de noemer - de teller en geeft vervolgens de uitslag.
   }

   void MaalButton_actionPerformed(java.awt.event.ActionEvent event)
   {String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
      int n = Integer.parseInt(noemer);
      int t = Integer.parseInt(teller);
      int u = n * t;
      UitkomstVeld.setText("" + u);

   
      // Hij vermenigvuldigd de noemer met de teller, en geeft vervolgens de uitslag.
   }

   void DeelButton_actionPerformed(java.awt.event.ActionEvent event)
   {String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
      int n = Integer.parseInt(noemer);
      int t = Integer.parseInt(teller);
      int u = n / t;
      UitkomstVeld.setText("" + u);

   
      // Hij deelt de noemer door de teller. en geeft vervolgens de uitslag.
   }


Heb ik.
pi_35455633
Heb je ActionListeners toegevoegd aan de knoppen?
  vrijdag 24 februari 2006 @ 20:32:54 #96
108558 Messenga
goeiendag wat een geheel!
pi_35456263
Dat gebeurt toch automatisch met Visual cafe?
pi_35456401
quote:
Op vrijdag 24 februari 2006 20:32 schreef Messenga het volgende:
Dat gebeurt toch automatisch met Visual cafe?
Misschien een nog wat raardere vraag, maar voer je de applet wel uit ? Zit je niet per ongeluk in de editor te klikken bedoel ik...
  vrijdag 24 februari 2006 @ 20:41:46 #98
108558 Messenga
goeiendag wat een geheel!
pi_35456619
quote:
Op vrijdag 24 februari 2006 20:36 schreef gelly het volgende:

[..]

Misschien een nog wat raardere vraag, maar voer je de applet wel uit ? Zit je niet per ongeluk in de editor te klikken bedoel ik...
Ja, ik voer hem uit:


pi_35456751
Behoren die dollartekens ook tot de String die hij uit de Velden haalt? Want dan zou het kunnen dat ie bij parseInt bij het eerste teken er al mee kapt en een Exception geeft (die je niet gevangen hebt maar die nu misschien in een Visual Cafe debug venstertje honderd keer staat)..
  vrijdag 24 februari 2006 @ 21:41:12 #100
108558 Messenga
goeiendag wat een geheel!
pi_35458583
quote:
Op vrijdag 24 februari 2006 20:44 schreef fallrite het volgende:
Behoren die dollartekens ook tot de String die hij uit de Velden haalt? Want dan zou het kunnen dat ie bij parseInt bij het eerste teken er al mee kapt en een Exception geeft (die je niet gevangen hebt maar die nu misschien in een Visual Cafe debug venstertje honderd keer staat)..
Die Dollar tekens doet hiij automatisch, dat is ook al zoiets raars .
pi_35459380
Staat er iets als DeelButton.addActionListener(this) in de code ? Zo ja, dan zijn die $ tekens het probleem. Maar hoe die daar dan komen ...
  vrijdag 24 februari 2006 @ 22:07:13 #102
108558 Messenga
goeiendag wat een geheel!
pi_35459497
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
/*
   A basic extension of the java.applet.Applet class
 */

import java.awt.*;
import java.applet.*;
import com.symantec.itools.javax.swing.JCurrencyTextField;
import com.symantec.itools.javax.swing.JWrappingLabel;
import com.symantec.itools.javax.swing.actions.JActionButton;
import com.symantec.itools.javax.swing.JBorderlessButton;

public class Applet1 extends Applet
{
   public void init()
   {
      // Take out this line if you don't use symantec.itools.net.RelativeURL or symantec.itools.awt.util.StatusScroller
      symantec.itools.lang.Context.setApplet(this);
   
      // This code is automatically generated by Visual Cafe when you add
      // components to the visual environment. It instantiates and initializes
      // the components. To modify the code, only use code syntax that matches
      // what Visual Cafe can generate, or Visual Cafe may be unable to back
      // parse your Java file into its visual environment.
      //{{INIT_CONTROLS
      setLayout(null);
      setBackground(java.awt.Color.lightGray);
      setSize(637,413);
      add(TellerVeld);
      TellerVeld.setBounds(120,48,193,62);
      add(NoemerVeld);
      NoemerVeld.setBounds(120,180,193,62);
      add(UitkomstVeld);
      UitkomstVeld.setBounds(120,300,193,62);
      try {
         JWrappingLabel1.setText("Invoer Teller : ");
      }
      catch(java.beans.PropertyVetoException e) { }
      try {
         JWrappingLabel1.setTextAlignment(javax.swing.SwingConstants.CENTER);
      }
      catch(java.beans.PropertyVetoException e) { }
      add(JWrappingLabel1);
      JWrappingLabel1.setFont(new Font("Dialog", Font.PLAIN, 20));
      JWrappingLabel1.setBounds(12,48,84,60);
      try {
         JWrappingLabel2.setText("Invoer noemer : ");
      }
      catch(java.beans.PropertyVetoException e) { }
      try {
         JWrappingLabel2.setTextAlignment(javax.swing.SwingConstants.CENTER);
      }
      catch(java.beans.PropertyVetoException e) { }
      add(JWrappingLabel2);
      JWrappingLabel2.setFont(new Font("Dialog", Font.PLAIN, 20));
      JWrappingLabel2.setBounds(12,180,84,72);
      try {
         JWrappingLabel3.setText("Uitkomst : ");
      }
      catch(java.beans.PropertyVetoException e) { }
      try {
         JWrappingLabel3.setTextAlignment(javax.swing.SwingConstants.CENTER);
      }
      catch(java.beans.PropertyVetoException e) { }
      add(JWrappingLabel3);
      JWrappingLabel3.setFont(new Font("Dialog", Font.PLAIN, 20));
      JWrappingLabel3.setBounds(12,312,84,36);
      PlusButton.setText("+");
      add(PlusButton);
      PlusButton.setBounds(360,312,51,53);
      MinButton.setText("-");
      add(MinButton);
      MinButton.setBounds(432,312,51,53);
      MaalButton.setText("X");
      add(MaalButton);
      MaalButton.setBounds(504,312,51,53);
      DeelButton.setText(":");
      add(DeelButton);
      DeelButton.setBounds(576,312,51,53);
      //}}
   
      //{{REGISTER_LISTENERS
      SymAction lSymAction = new SymAction();
      TellerVeld.addActionListener(lSymAction);
      NoemerVeld.addActionListener(lSymAction);
      PlusButton.addActionListener(lSymAction);
      MinButton.addActionListener(lSymAction);
      MaalButton.addActionListener(lSymAction);
      DeelButton.addActionListener(lSymAction);
      //}}
   }
   
   //{{DECLARE_CONTROLS
   com.symantec.itools.javax.swing.JCurrencyTextField TellerVeld = new com.symantec.itools.javax.swing.JCurrencyTextField();
   com.symantec.itools.javax.swing.JCurrencyTextField NoemerVeld = new com.symantec.itools.javax.swing.JCurrencyTextField();
   com.symantec.itools.javax.swing.JCurrencyTextField UitkomstVeld = new com.symantec.itools.javax.swing.JCurrencyTextField();
   com.symantec.itools.javax.swing.JWrappingLabel JWrappingLabel1 = new com.symantec.itools.javax.swing.JWrappingLabel();
   com.symantec.itools.javax.swing.JWrappingLabel JWrappingLabel2 = new com.symantec.itools.javax.swing.JWrappingLabel();
   com.symantec.itools.javax.swing.JWrappingLabel JWrappingLabel3 = new com.symantec.itools.javax.swing.JWrappingLabel();
   com.symantec.itools.javax.swing.JBorderlessButton PlusButton = new com.symantec.itools.javax.swing.JBorderlessButton();
   com.symantec.itools.javax.swing.JBorderlessButton MinButton = new com.symantec.itools.javax.swing.JBorderlessButton();
   com.symantec.itools.javax.swing.JBorderlessButton MaalButton = new com.symantec.itools.javax.swing.JBorderlessButton();
   com.symantec.itools.javax.swing.JBorderlessButton DeelButton = new com.symantec.itools.javax.swing.JBorderlessButton();
   //}}

   class SymAction implements java.awt.event.ActionListener
   {
      public void actionPerformed(java.awt.event.ActionEvent event)
      {
         Object object = event.getSource();
         if (object == TellerVeld)
            TellerVeld_actionPerformed(event);
         else if (object == NoemerVeld)
            NoemerVeld_actionPerformed(event);
         else if (object == PlusButton)
            PlusButton_actionPerformed(event);
         else if (object == MinButton)
            MinButton_actionPerformed(event);
         else if (object == MaalButton)
            MaalButton_actionPerformed(event);
         else if (object == DeelButton)
            DeelButton_actionPerformed(event);
      }
   }

   void TellerVeld_actionPerformed(java.awt.event.ActionEvent event)
   {
      // to do: code goes here.
   }

   void NoemerVeld_actionPerformed(java.awt.event.ActionEvent event)
   {
       
   
      // to do: code goes here.
   }

   void PlusButton_actionPerformed(java.awt.event.ActionEvent event)
   { String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
        int n = Integer.parseInt(noemer);
        int t = Integer.parseInt(teller);
      int u = n + t;
   UitkomstVeld.setText("" + u);

   
      // Hij doet de noemer + de teller en geeft de uitslag.
   }

   void MinButton_actionPerformed(java.awt.event.ActionEvent event)
   {String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
      int n = Integer.parseInt(noemer);
        int t = Integer.parseInt(teller);
        int u = n - t;
      UitkomstVeld.setText("" + u);

   
      // Hij doet de noemer - de teller en geeft vervolgens de uitslag.
   }

   void MaalButton_actionPerformed(java.awt.event.ActionEvent event)
   {String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
      int n = Integer.parseInt(noemer);
      int t = Integer.parseInt(teller);
      int u = n * t;
      UitkomstVeld.setText("" + u);

   
      // Hij vermenigvuldigd de noemer met de teller, en geeft vervolgens de uitslag.
   }

   void DeelButton_actionPerformed(java.awt.event.ActionEvent event)
   {String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
      int n = Integer.parseInt(noemer);
      int t = Integer.parseInt(teller);
      int u = n / t;
      UitkomstVeld.setText("" + u);

   
      // Hij deelt de noemer door de teller. en geeft vervolgens de uitslag.
   }
}


Dat is de complete code.

Volgens mij dus niet, maar ik kan er overheen kijken.
pi_35460262
Waarom maak je van die velden currency velden?
com.symantec.itools.javax.swing.JCurrencyTextField TellerVeld = new com.symantec.itools.javax.swing.JCurrencyTextField();
com.symantec.itools.javax.swing.JCurrencyTextField NoemerVeld = new com.symantec.itools.javax.swing.JCurrencyTextField();
com.symantec.itools.javax.swing.JCurrencyTextField UitkomstVeld = new com.symantec.itools.javax.swing.JCurrencyTextField();

Ik zou je zelf ook gewoon aanbevelen van de normale java api gebruik te maken. De packages waar je hier gebruik van maakt heb ik iig niet op mijn pc. Daar je toch vrij basic operaties gebruikt, lijkt me het niet nodig andere packages te importeren.
pi_35460316
Het staat er wel zij het vrij omslachtig

1DeelButton.addActionListener(lSymAction);
pi_35460343
Het probleem zit hem idd in de currency velden..
pi_35460378
Maar is dat de code die VisualCafe ervan maakt joh ? Wat een zooi.
pi_35460483
quote:
Op vrijdag 24 februari 2006 22:33 schreef gelly het volgende:
Maar is dat de code die VisualCafe ervan maakt joh ? Wat een zooi.
Ja, code is idd niks maja, da's Visual Cafe eigen
  vrijdag 24 februari 2006 @ 22:50:19 #108
108558 Messenga
goeiendag wat een geheel!
pi_35461008
Ik zou het het liefst ook anders doen, maar dat mag niet .

hoe los ik het nu op?
pi_35461070
quote:
Op vrijdag 24 februari 2006 22:50 schreef Messenga het volgende:
Ik zou het het liefst ook anders doen, maar dat mag niet .

hoe los ik het nu op?
Heb je niet toevallig een vinkje aangezet (of wat aanstond) toen je de velden neerzette? Want nu hebben al die velden de eigenschap dat ze currency velden zijn terwijl je eigenlijk gewone textfields wilt. Je zou dit handmatig kunnen veranderen maar is er niet in de lijst met opties die je bij zo'n veld hebt een vinkje wat je uit kan zetten om dat te veranderen?
  vrijdag 24 februari 2006 @ 22:58:45 #110
108558 Messenga
goeiendag wat een geheel!
pi_35461350
Dat weet ik dus niet meer..

Maar stel. Ik maak hem opnieuw, is dan het onderstaande wel goed?

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
   
      // to do: code goes here.
   }

   void PlusButton_actionPerformed(java.awt.event.ActionEvent event)
   { String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
        int n = Integer.parseInt(noemer);
        int t = Integer.parseInt(teller);
      int u = n + t;
   UitkomstVeld.setText("" + u);

   
      // Hij doet de noemer + de teller en geeft de uitslag.
   }

   void MinButton_actionPerformed(java.awt.event.ActionEvent event)
   {String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
      int n = Integer.parseInt(noemer);
        int t = Integer.parseInt(teller);
        int u = n - t;
      UitkomstVeld.setText("" + u);

   
      // Hij doet de noemer - de teller en geeft vervolgens de uitslag.
   }

   void MaalButton_actionPerformed(java.awt.event.ActionEvent event)
   {String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
      int n = Integer.parseInt(noemer);
      int t = Integer.parseInt(teller);
      int u = n * t;
      UitkomstVeld.setText("" + u);

   
      // Hij vermenigvuldigd de noemer met de teller, en geeft vervolgens de uitslag.
   }

   void DeelButton_actionPerformed(java.awt.event.ActionEvent event)
   {String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
      int n = Integer.parseInt(noemer);
      int t = Integer.parseInt(teller);
      int u = n / t;
      UitkomstVeld.setText("" + u);

   
      // Hij deelt de noemer door de teller. en geeft vervolgens de uitslag.
   }
}
pi_35461929
Daar kan het niet aan liggen volgens mij - het kan korter maar dat terzijde; het zou moeten werken als je normale velden en ActionListeners hebt
  vrijdag 24 februari 2006 @ 23:23:42 #112
108558 Messenga
goeiendag wat een geheel!
pi_35462432
Oke! dankje, ik ga het morgen even proberen.
  maandag 27 februari 2006 @ 18:32:55 #113
108558 Messenga
goeiendag wat een geheel!
pi_35549651
Bah. Het wil nog steeds niet .
pi_35549719
Het ?
  maandag 27 februari 2006 @ 18:36:37 #115
108558 Messenga
goeiendag wat een geheel!
pi_35549748
Ja, ik maak de hele opdracht maar opnieuw, maar wéér gaat het mis. Hij wil gewoon niets in het UitkomstVeld zetten .
pi_35549772
Plaats de nieuwe code eens helemaal ..
  maandag 27 februari 2006 @ 18:39:43 #117
108558 Messenga
goeiendag wat een geheel!
pi_35549832
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
/*
   A basic extension of the java.applet.Applet class
 */

import java.awt.*;
import java.applet.*;
import com.symantec.itools.javax.swing.JBox;
import com.symantec.itools.javax.swing.JCurrencyTextField;
import com.symantec.itools.javax.swing.JMaskedTextField;
import com.symantec.itools.javax.swing.JBorderlessButton;
import com.symantec.itools.javax.swing.JWrappingLabel;
import com.symantec.itools.javax.swing.actions.JActionButton;

public class Applet1 extends Applet
{
   public void init()
   {
      // Take out this line if you don't use symantec.itools.net.RelativeURL or symantec.itools.awt.util.StatusScroller
      symantec.itools.lang.Context.setApplet(this);
   
      // This code is automatically generated by Visual Cafe when you add
      // components to the visual environment. It instantiates and initializes
      // the components. To modify the code, only use code syntax that matches
      // what Visual Cafe can generate, or Visual Cafe may be unable to back
      // parse your Java file into its visual environment.
      //{{INIT_CONTROLS
      setLayout(null);
      setSize(623,504);
      add(NoemerVeld);
      NoemerVeld.setBounds(144,228,144,36);
      try {
         JWrappingLabel1.setText("Invoer Teller");
      }
      catch(java.beans.PropertyVetoException e) { }
      try {
         JWrappingLabel1.setTextAlignment(javax.swing.SwingConstants.CENTER);
      }
      catch(java.beans.PropertyVetoException e) { }
      add(JWrappingLabel1);
      JWrappingLabel1.setFont(new Font("Dialog", Font.BOLD, 20));
      JWrappingLabel1.setBounds(24,84,85,72);
      try {
         JWrappingLabel2.setText("Invoer Noemer");
      }
      catch(java.beans.PropertyVetoException e) { }
      try {
         JWrappingLabel2.setTextAlignment(javax.swing.SwingConstants.CENTER);
      }
      catch(java.beans.PropertyVetoException e) { }
      add(JWrappingLabel2);
      JWrappingLabel2.setFont(new Font("Dialog", Font.BOLD, 20));
      JWrappingLabel2.setBounds(36,216,85,72);
      try {
         JWrappingLabel3.setText("Uitkomst");
      }
      catch(java.beans.PropertyVetoException e) { }
      try {
         JWrappingLabel3.setTextAlignment(javax.swing.SwingConstants.CENTER);
      }
      catch(java.beans.PropertyVetoException e) { }
      add(JWrappingLabel3);
      JWrappingLabel3.setFont(new Font("Dialog", Font.BOLD, 20));
      JWrappingLabel3.setBounds(24,372,95,42);
      add(UitkomstVeld);
      UitkomstVeld.setBounds(144,360,144,48);
      add(TellerVeld);
      TellerVeld.setBounds(132,108,144,36);
      MinButton.setText("-");
      add(MinButton);
      MinButton.setBounds(432,360,48,48);
      MaalButton.setText("X");
      add(MaalButton);
      MaalButton.setBounds(492,360,48,48);
      DeelButton.setText(":");
      add(DeelButton);
      DeelButton.setBounds(552,360,48,48);
      PlusButton.setText("+");
      add(PlusButton);
      PlusButton.setBounds(360,360,48,48);
      add(NoemerVeld);
      //}}
   }
   
   //{{DECLARE_CONTROLS
   com.symantec.itools.javax.swing.JCurrencyTextField NoemerVeld = new com.symantec.itools.javax.swing.JCurrencyTextField();
   com.symantec.itools.javax.swing.JWrappingLabel JWrappingLabel1 = new com.symantec.itools.javax.swing.JWrappingLabel();
   com.symantec.itools.javax.swing.JWrappingLabel JWrappingLabel2 = new com.symantec.itools.javax.swing.JWrappingLabel();
   com.symantec.itools.javax.swing.JWrappingLabel JWrappingLabel3 = new com.symantec.itools.javax.swing.JWrappingLabel();
   com.symantec.itools.javax.swing.JCurrencyTextField UitkomstVeld = new com.symantec.itools.javax.swing.JCurrencyTextField();
   com.symantec.itools.javax.swing.JCurrencyTextField TellerVeld = new com.symantec.itools.javax.swing.JCurrencyTextField();
   com.symantec.itools.javax.swing.JBorderlessButton MinButton = new com.symantec.itools.javax.swing.JBorderlessButton();
   com.symantec.itools.javax.swing.JBorderlessButton MaalButton = new com.symantec.itools.javax.swing.JBorderlessButton();
   com.symantec.itools.javax.swing.JBorderlessButton DeelButton = new com.symantec.itools.javax.swing.JBorderlessButton();
   com.symantec.itools.javax.swing.JBorderlessButton PlusButton = new com.symantec.itools.javax.swing.JBorderlessButton();
   //}}

   void TellerVeld_actionPerformed(java.awt.event.ActionEvent event)
   {
      // to do: code goes here.
   }

   void NoemerVeld_actionPerformed(java.awt.event.ActionEvent event)
   {
       
   
      // to do: code goes here.
   }

   void PlusButton_actionPerformed(java.awt.event.ActionEvent event)
   { String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
        int n = Integer.parseInt(noemer);
        int t = Integer.parseInt(teller);
      int u = n + t;
   UitkomstVeld.setText("" + u);

   
      // Hij doet de noemer + de teller en geeft de uitslag.
   }

   void MinButton_actionPerformed(java.awt.event.ActionEvent event)
   {String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
      int n = Integer.parseInt(noemer);
        int t = Integer.parseInt(teller);
        int u = n - t;
      UitkomstVeld.setText("" + u);

   
      // Hij doet de noemer - de teller en geeft vervolgens de uitslag.
   }

   void MaalButton_actionPerformed(java.awt.event.ActionEvent event)
   {String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
      int n = Integer.parseInt(noemer);
      int t = Integer.parseInt(teller);
      int u = n * t;
      UitkomstVeld.setText("" + u);

   
      // Hij vermenigvuldigd de noemer met de teller, en geeft vervolgens de uitslag.
   }

   void DeelButton_actionPerformed(java.awt.event.ActionEvent event)
   {String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
      int n = Integer.parseInt(noemer);
      int t = Integer.parseInt(teller);
      int u = n / t;
      UitkomstVeld.setText("" + u);

   
      // Hij deelt de noemer door de teller. en geeft vervolgens de uitslag.
   }
}
pi_35549955
1JCurrencyTextField


Dat moeten dus gewone textfields zijn. Dezelfde fout als eerst dus.

Verang alle com.symantec.itools.javax.swing.JCurrencyTextField eens voor javax.swing.JTextField....

[ Bericht 2% gewijzigd door #ANONIEM op 27-02-2006 18:45:10 ]
  maandag 27 februari 2006 @ 18:45:09 #119
108558 Messenga
goeiendag wat een geheel!
pi_35549979
Oke.

Hij plaatst ze nu alleen nog niet in het uitkomstveld.
pi_35549991
ik heb een edit gemaakt werkt anders ook wel, maar je gebruikt liever swing zie ik.
  maandag 27 februari 2006 @ 18:48:25 #121
108558 Messenga
goeiendag wat een geheel!
pi_35550069
Ik heb ze dus al verandert .
pi_35550120
Werkt het ook ?
  maandag 27 februari 2006 @ 18:51:57 #123
108558 Messenga
goeiendag wat een geheel!
pi_35550167
Nee, hij geeft wel gewone getallen aan, maar hij verwerkt ze zodra ik klik op +,-,x of : gewoon niet in het uitkomstveld .
pi_35550218
post de code nog eens
  maandag 27 februari 2006 @ 18:54:41 #125
108558 Messenga
goeiendag wat een geheel!
pi_35550264
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
/*
   A basic extension of the java.applet.Applet class
 */

import java.awt.*;
import java.applet.*;
import com.symantec.itools.javax.swing.JBox;
import com.symantec.itools.javax.swing.JCurrencyTextField;
import com.symantec.itools.javax.swing.JMaskedTextField;
import com.symantec.itools.javax.swing.JBorderlessButton;
import com.symantec.itools.javax.swing.JWrappingLabel;
import com.symantec.itools.javax.swing.actions.JActionButton;

public class Applet1 extends Applet
{
   public void init()
   {
      // Take out this line if you don't use symantec.itools.net.RelativeURL or symantec.itools.awt.util.StatusScroller
      symantec.itools.lang.Context.setApplet(this);
   
      // This code is automatically generated by Visual Cafe when you add
      // components to the visual environment. It instantiates and initializes
      // the components. To modify the code, only use code syntax that matches
      // what Visual Cafe can generate, or Visual Cafe may be unable to back
      // parse your Java file into its visual environment.
      //{{INIT_CONTROLS
      setLayout(null);
      setSize(623,504);
      try {
         JWrappingLabel1.setText("Invoer Teller");
      }
      catch(java.beans.PropertyVetoException e) { }
      try {
         JWrappingLabel1.setTextAlignment(javax.swing.SwingConstants.CENTER);
      }
      catch(java.beans.PropertyVetoException e) { }
      add(JWrappingLabel1);
      JWrappingLabel1.setFont(new Font("Dialog", Font.BOLD, 20));
      JWrappingLabel1.setBounds(24,84,85,72);
      try {
         JWrappingLabel2.setText("Invoer Noemer");
      }
      catch(java.beans.PropertyVetoException e) { }
      try {
         JWrappingLabel2.setTextAlignment(javax.swing.SwingConstants.CENTER);
      }
      catch(java.beans.PropertyVetoException e) { }
      add(JWrappingLabel2);
      JWrappingLabel2.setFont(new Font("Dialog", Font.BOLD, 20));
      JWrappingLabel2.setBounds(36,216,85,72);
      try {
         JWrappingLabel3.setText("Uitkomst");
      }
      catch(java.beans.PropertyVetoException e) { }
      try {
         JWrappingLabel3.setTextAlignment(javax.swing.SwingConstants.CENTER);
      }
      catch(java.beans.PropertyVetoException e) { }
      add(JWrappingLabel3);
      JWrappingLabel3.setFont(new Font("Dialog", Font.BOLD, 20));
      JWrappingLabel3.setBounds(24,372,95,42);
      MinButton.setText("-");
      add(MinButton);
      MinButton.setBounds(432,360,48,48);
      MaalButton.setText("X");
      add(MaalButton);
      MaalButton.setBounds(492,360,48,48);
      DeelButton.setText(":");
      add(DeelButton);
      DeelButton.setBounds(552,360,48,48);
      PlusButton.setText("+");
      add(PlusButton);
      PlusButton.setBounds(360,360,48,48);
      add(TellerVeld);
      TellerVeld.setBounds(144,84,205,56);
      add(NoemerVeld);
      NoemerVeld.setBounds(144,216,205,56);
      add(UitkomstVeld);
      UitkomstVeld.setBounds(132,360,205,56);
      //}}
   }
   
   //{{DECLARE_CONTROLS
   com.symantec.itools.javax.swing.JWrappingLabel JWrappingLabel1 = new com.symantec.itools.javax.swing.JWrappingLabel();
   com.symantec.itools.javax.swing.JWrappingLabel JWrappingLabel2 = new com.symantec.itools.javax.swing.JWrappingLabel();
   com.symantec.itools.javax.swing.JWrappingLabel JWrappingLabel3 = new com.symantec.itools.javax.swing.JWrappingLabel();
   com.symantec.itools.javax.swing.JBorderlessButton MinButton = new com.symantec.itools.javax.swing.JBorderlessButton();
   com.symantec.itools.javax.swing.JBorderlessButton MaalButton = new com.symantec.itools.javax.swing.JBorderlessButton();
   com.symantec.itools.javax.swing.JBorderlessButton DeelButton = new com.symantec.itools.javax.swing.JBorderlessButton();
   com.symantec.itools.javax.swing.JBorderlessButton PlusButton = new com.symantec.itools.javax.swing.JBorderlessButton();
   com.symantec.itools.javax.swing.JMaskedTextField TellerVeld = new com.symantec.itools.javax.swing.JMaskedTextField();
   com.symantec.itools.javax.swing.JMaskedTextField NoemerVeld = new com.symantec.itools.javax.swing.JMaskedTextField();
   com.symantec.itools.javax.swing.JMaskedTextField UitkomstVeld = new com.symantec.itools.javax.swing.JMaskedTextField();
   //}}

   void TellerVeld_actionPerformed(java.awt.event.ActionEvent event)
   {
      // to do: code goes here.
   }

   void NoemerVeld_actionPerformed(java.awt.event.ActionEvent event)
   {
       
   
      // to do: code goes here.
   }

   void PlusButton_actionPerformed(java.awt.event.ActionEvent event)
   { String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
        int n = Integer.parseInt(noemer);
        int t = Integer.parseInt(teller);
      int u = n + t;
   UitkomstVeld.setText("" + u);

   
      // Hij doet de noemer + de teller en geeft de uitslag.
   }

   void MinButton_actionPerformed(java.awt.event.ActionEvent event)
   {String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
      int n = Integer.parseInt(noemer);
        int t = Integer.parseInt(teller);
        int u = n - t;
      UitkomstVeld.setText("" + u);

   
      // Hij doet de noemer - de teller en geeft vervolgens de uitslag.
   }

   void MaalButton_actionPerformed(java.awt.event.ActionEvent event)
   {String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
      int n = Integer.parseInt(noemer);
      int t = Integer.parseInt(teller);
      int u = n * t;
      UitkomstVeld.setText("" + u);

   
      // Hij vermenigvuldigd de noemer met de teller, en geeft vervolgens de uitslag.
   }

   void DeelButton_actionPerformed(java.awt.event.ActionEvent event)
   {String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
      int n = Integer.parseInt(noemer);
      int t = Integer.parseInt(teller);
      int u = n / t;
      UitkomstVeld.setText("" + u);

   
      // Hij deelt de noemer door de teller. en geeft vervolgens de uitslag.
   }
}
pi_35550327
1JMaskedTextField




Maakt VisualCafe dat ervan of jij ?
  maandag 27 februari 2006 @ 18:58:50 #127
108558 Messenga
goeiendag wat een geheel!
pi_35550390
quote:
Op maandag 27 februari 2006 18:56 schreef gelly het volgende:

[ code verwijderd ]





Maakt VisualCafe dat ervan of jij ?
Visual cafe .
pi_35550474
Kun je enkel die Symantec componenten gebruiken bij het ontwerpen of ook gewoon de standaard API zoals java.awt of javax.swing ?

Daar zit het probleem namelijk, je probeert een string uit zo'n veld om te zetten naar int, en dat wil niet omdat er alfanummerieke tekens in staan.

[ Bericht 0% gewijzigd door #ANONIEM op 27-02-2006 19:01:47 ]
pi_35550531
Ik zou bijna dat rottige VC downloaden om het te bekijken
  maandag 27 februari 2006 @ 19:04:40 #130
108558 Messenga
goeiendag wat een geheel!
pi_35550621
quote:
Op maandag 27 februari 2006 19:01 schreef gelly het volgende:
Kun je enkel die Symantec componenten gebruiken bij het ontwerpen of ook gewoon de standaard API zoals java.awt of javax.swing ?

Daar zit het probleem namelijk, je probeert een string uit zo'n veld om te zetten naar int, en dat wil niet omdat er alfanummerieke tekens in staan.
Dat is het nare, die troep geeft die standaard .
quote:
Op maandag 27 februari 2006 19:02 schreef gelly het volgende:
Ik zou bijna dat rottige VC downloaden om het te bekijken
Probeer het .
pi_35550664
$771,-
pi_35550701
quote:
Op maandag 27 februari 2006 19:04 schreef Messenga het volgende:

[..]

Dat is het nare, die troep geeft die standaard .
[..]
Maar in het componentenmenu kun je niet kiezen uit AWT of Swing componenten ? Dat lijkt me toch sterk..
  maandag 27 februari 2006 @ 19:07:03 #133
108558 Messenga
goeiendag wat een geheel!
pi_35550717
quote:
Op maandag 27 februari 2006 19:05 schreef gelly het volgende:
$771,-
Serieus?

Fuck hell .
quote:
Op maandag 27 februari 2006 19:06 schreef gelly het volgende:

[..]

Maar in het componentenmenu kun je niet kiezen uit AWT of Swing componenten ? Dat lijkt me toch sterk..
Dat klopt, van de lerares leren we dan standaard AWT Applet aan te klikken .
pi_35551033


Onder het tabblad "standard" ?
  maandag 27 februari 2006 @ 19:23:55 #135
108558 Messenga
goeiendag wat een geheel!
pi_35551348
OMG

Dankjewel!

Ik zie dat ik gewoon altijd in het verkeerde menu zat .
pi_35551387
  maandag 27 februari 2006 @ 19:34:43 #137
108558 Messenga
goeiendag wat een geheel!
pi_35551793
Njah. Alles even omgegooid. Maar nu doet ie et dus nog niet .


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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
/*
   A basic extension of the java.applet.Applet class
 */

import java.awt.*;
import java.applet.*;

public class Applet1 extends Applet
{
   public void init()
   {
      // Take out this line if you don't use symantec.itools.net.RelativeURL or symantec.itools.awt.util.StatusScroller
      symantec.itools.lang.Context.setApplet(this);
   
      // This code is automatically generated by Visual Cafe when you add
      // components to the visual environment. It instantiates and initializes
      // the components. To modify the code, only use code syntax that matches
      // what Visual Cafe can generate, or Visual Cafe may be unable to back
      // parse your Java file into its visual environment.
      //{{INIT_CONTROLS
      setLayout(null);
      setSize(632,522);
      add(TellerVeld);
      TellerVeld.setBounds(36,60,319,71);
      add(NoemerVeld);
      NoemerVeld.setBounds(36,168,319,71);
      add(UitkomstVeld);
      UitkomstVeld.setBounds(36,324,192,71);
      PlusButton.setLabel("+");
      add(PlusButton);
      PlusButton.setBackground(java.awt.Color.lightGray);
      PlusButton.setBounds(300,324,72,72);
      MinButton.setLabel("-");
      add(MinButton);
      MinButton.setBackground(java.awt.Color.lightGray);
      MinButton.setBounds(396,324,60,72);
      MaalButton.setLabel("X");
      add(MaalButton);
      MaalButton.setBackground(java.awt.Color.lightGray);
      MaalButton.setBounds(480,324,60,72);
      DeelButton.setLabel(":");
      add(DeelButton);
      DeelButton.setBackground(java.awt.Color.lightGray);
      DeelButton.setBounds(564,324,60,72);
      //}}
   }
   
   //{{DECLARE_CONTROLS
   java.awt.TextField TellerVeld = new java.awt.TextField();
   java.awt.TextField NoemerVeld = new java.awt.TextField();
   java.awt.TextField UitkomstVeld = new java.awt.TextField();
   java.awt.Button PlusButton = new java.awt.Button();
   java.awt.Button MinButton = new java.awt.Button();
   java.awt.Button MaalButton = new java.awt.Button();
   java.awt.Button DeelButton = new java.awt.Button();
   //}}


   void TellerVeld_actionPerformed(java.awt.event.ActionEvent event)
   {
      // to do: code goes here.
   }

   void NoemerVeld_actionPerformed(java.awt.event.ActionEvent event)
   {
       
   
      // to do: code goes here.
   }

   void PlusButton_actionPerformed(java.awt.event.ActionEvent event)
   { String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
        int n = Integer.parseInt(noemer);
        int t = Integer.parseInt(teller);
      int u = n + t;
   UitkomstVeld.setText("" + u);

   
      // Hij doet de noemer + de teller en geeft de uitslag.
   }

   void MinButton_actionPerformed(java.awt.event.ActionEvent event)
   {String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
      int n = Integer.parseInt(noemer);
        int t = Integer.parseInt(teller);
        int u = n - t;
      UitkomstVeld.setText("" + u);

   
      // Hij doet de noemer - de teller en geeft vervolgens de uitslag.
   }

   void MaalButton_actionPerformed(java.awt.event.ActionEvent event)
   {String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
      int n = Integer.parseInt(noemer);
      int t = Integer.parseInt(teller);
      int u = n * t;
      UitkomstVeld.setText("" + u);

   
      // Hij vermenigvuldigd de noemer met de teller, en geeft vervolgens de uitslag.
   }

   void DeelButton_actionPerformed(java.awt.event.ActionEvent event)
   {String noemer = NoemerVeld.getText();
      String teller = TellerVeld.getText();
      int n = Integer.parseInt(noemer);
      int t = Integer.parseInt(teller);
      int u = n / t;
      UitkomstVeld.setText("" + u);

   
      // Hij deelt de noemer door de teller. en geeft vervolgens de uitslag.
   }
pi_35551947
Er zijn nog geen ActionListeners toegevoegd aan de buttons..
  maandag 27 februari 2006 @ 19:52:31 #139
108558 Messenga
goeiendag wat een geheel!
pi_35552450
Het werkt .

Nu de 2e opdracht nog .

Ook al zo'n kut opdracht .

[ Bericht 25% gewijzigd door Messenga op 27-02-2006 19:58:06 ]
  maandag 27 februari 2006 @ 20:58:15 #140
108558 Messenga
goeiendag wat een geheel!
pi_35555036
Oke.
Ik heb et even geprobeerd, maar ik kom er niet uit ..

Ik moet een tafel applet maken, van 1 tot 10. Nou heb ik wel een hele leuke lay out, maar hoe de code verder moet, daar heb ik even geen idee van .

pi_35555111
Onder de knop hang je een action listener die de het getal uit het boxje leest. Deze kun je nog controleren met isNumeric (weet de precieze methode niet). Vervolgens laat je dit getal in een for loopje in de listbox weergeven. Dat is de code die je wilt programmeren. NU de java uitwerking nog
Partyagenda;
Outdated....
  maandag 27 februari 2006 @ 21:03:07 #142
108558 Messenga
goeiendag wat een geheel!
pi_35555201
quote:
Op maandag 27 februari 2006 21:00 schreef CrustyClown het volgende:
Onder de knop hang je een action listener die de het getal uit het boxje leest. Deze kun je nog controleren met isNumeric (weet de precieze methode niet). Vervolgens laat je dit getal in een for loopje in de listbox weergeven. Dat is de code die je wilt programmeren. NU de java uitwerking nog
Zover was ik nog wel .
pi_35555213
Hmm, zoiets :

1
2
3
4
5
6
7
8
9
10
 public void berekenButtonActionPerformed (ActionEvent e) {

int basis = Integer.parseInt(invoerVeld.getText());

for (int i=1; i <= 10; i++ ) {

   uitvoerTextVeld.append("" + i + " * " + basis +" = " + (basis * i));
}

}
pi_35555253
Hierbij is m de waarde van de tafel (dus 3 is de tafel van 3, 8 is de tafel van 8 enzo)

1
2
3
for (int n = 1; n <= 10; n++) {
(*) ("" + n + " * " + m + " = " n*m)
}


En op de plaats van (*) zet je dan de code waarmee je het toevoegd aan een tekstveld Als je niet dat 1 * 3 = 3, 2 * 3 = 6 wilt kun je dat ook weghalen:

1
2
3
for (int n = 1; n <= 10; n++) {
(*) ("" + n*m)
}


Maar gebruik van een for-loop zal er wel inzitten
  maandag 27 februari 2006 @ 21:14:57 #145
108558 Messenga
goeiendag wat een geheel!
pi_35555676
quote:
Op maandag 27 februari 2006 21:03 schreef gelly het volgende:
Hmm, zoiets :
[ code verwijderd ]
Werkt bijna

Alleen dit nog :
quote:
Error: D:\VisualCafeSE\bin\TempPrj0\Applet1.java(64): Method append(java.lang.String) not found in class java.awt.TextField.
UitvoerVeld.append("" + i + " * " + basis +" = " + (basis * i));
^
1 error
Build Failed
pi_35555772
Het moet ook een textArea zijn he..
  maandag 27 februari 2006 @ 21:17:47 #147
108558 Messenga
goeiendag wat een geheel!
pi_35555798
quote:
Op maandag 27 februari 2006 21:17 schreef gelly het volgende:
Het moet ook een textArea zijn he..
Ah oke .
pi_35555855
Of had je het tekstveld uit zitten rekken om het zo groot te krijgen
  maandag 27 februari 2006 @ 21:21:53 #149
108558 Messenga
goeiendag wat een geheel!
pi_35555960
quote:
Op maandag 27 februari 2006 21:19 schreef gelly het volgende:
Of had je het tekstveld uit zitten rekken om het zo groot te krijgen
hehe, het werkt nu

Maar nu krijg ik dit soort :

1 * 5 = 52 * 5 = 103 * 5 = 154 * 5 = 205 * 5 = 256 * 5 = 307 * 5 = 358 * 5 = 409 * 5 = 4510 * 5 = 50

Terwijl ik gewoon een lijstje moet hebebn van :

1*5 =5
2*5=10

etc
pi_35556181
quote:
Op maandag 27 februari 2006 21:21 schreef Messenga het volgende:

[..]

hehe, het werkt nu

Maar nu krijg ik dit soort :

1 * 5 = 52 * 5 = 103 * 5 = 154 * 5 = 205 * 5 = 256 * 5 = 307 * 5 = 358 * 5 = 409 * 5 = 4510 * 5 = 50

Terwijl ik gewoon een lijstje moet hebebn van :

1*5 =5
2*5=10

etc
uitvoerTextVeld.append("" + i + " * " + basis +" = " + (basis * i)+"\n");
pi_35556194
Leer je hier wel wat van
  maandag 27 februari 2006 @ 21:28:18 #152
108558 Messenga
goeiendag wat een geheel!
pi_35556229
quote:
Op maandag 27 februari 2006 21:27 schreef gelly het volgende:
Leer je hier wel wat van
Jawel, alles wat ik nu leer hoeft later niet meer vertelt te worden .
pi_35556280
Nee, ik bedoel, snap je wel wat je doet ?
  maandag 27 februari 2006 @ 21:33:07 #154
108558 Messenga
goeiendag wat een geheel!
pi_35556398
quote:
Op maandag 27 februari 2006 21:29 schreef gelly het volgende:
Nee, ik bedoel, snap je wel wat je doet ?
Ja, die "\n"zorgt voor een harde return.
pi_35556451
quote:
Op maandag 27 februari 2006 21:33 schreef Messenga het volgende:

[..]

Ja, die "\n"zorgt voor een harde return.
Ik doelde meer op b.v. de for-loop .. Het zijn namelijk vrij standaard dingetjes in Java..
  maandag 27 februari 2006 @ 21:38:11 #156
108558 Messenga
goeiendag wat een geheel!
pi_35556569
quote:
Op maandag 27 februari 2006 21:34 schreef gelly het volgende:

[..]

Ik doelde meer op b.v. de for-loop .. Het zijn namelijk vrij standaard dingetjes in Java..
Ja, dat begrijp ik.

Bedankt .
  dinsdag 28 februari 2006 @ 22:07:05 #157
88418 _Xbox_Master_
Low frequency specialist
pi_35588820
Ik ben bezig met een opdracht voor school ik heb nu alles geprogrameerd en ik wil nu de fouten eruit gaan halen en ik krijg bij elke class die ik compileer de volgende soort foutmelding

Het lijkt wel of die de andere classes niet kan vinden terwijl ze gewoon in dezelfde map staan


C:\Documents and Settings\Admin\Desktop\School\OGO\postorder\Apl.java
Apl.java:3: cannot find symbol
symbol : class PostorderBedrijf
location: class Apl
PostorderBedrijf POB = new Postorderbedrijf();
^
Apl.java:3: cannot find symbol
symbol : class Postorderbedrijf
location: class Apl
PostorderBedrijf POB = new Postorderbedrijf();
^
Apl.java:4: cannot find symbol
symbol : class GUI
location: class Apl
GUI pobGUI = new GUI(POB);
^
Apl.java:4: cannot find symbol
symbol : class GUI
location: class Apl
GUI pobGUI = new GUI(POB);
^
4 errors
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
pi_35589829
Let eens op hoofdlettergebruik .. je gebruikt zowel PostorderBedrijf als Postorderbedrijf. En heb je wel een klasse GUI gemaakt ?
  dinsdag 28 februari 2006 @ 22:36:07 #159
88418 _Xbox_Master_
Low frequency specialist
pi_35589997
quote:
Op dinsdag 28 februari 2006 22:31 schreef gelly het volgende:
Let eens op hoofdlettergebruik .. je gebruikt zowel PostorderBedrijf als Postorderbedrijf. En heb je wel een klasse GUI gemaakt ?
Die hoofdletters had ik nog niet gezien, veranderd maar de fouten blijven.
En ik heb een class GUI ja. Als je die probeert te compileren geeft die dezelfde soort foutmelding maar dan met de classes Klant en Artikel
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
pi_35590134
Heb je wel een package declaratie in de code van de classes staan ? Anders moet je ze importeren...
  dinsdag 28 februari 2006 @ 22:41:09 #161
88418 _Xbox_Master_
Low frequency specialist
pi_35590188
quote:
Op dinsdag 28 februari 2006 22:39 schreef gelly het volgende:
Heb je wel een package declaratie in de code van de classes staan ? Anders moet je ze importeren...
wat bedoel je daar precies mee?

Deze packages heb ik geimporteerd in elke class:

import nl.hen.ict.assertion.Assertion;
import java.util.*;
import nl.hen.ict.gui.*;

Dingen van school enzo
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
pi_35590552
waar staat je PostorderBedrijf class?
pi_35590626
Zet eens in alle classes bovenaan package testpackage;

En zet alle bestanden dan in een directory die zo heet.
  dinsdag 28 februari 2006 @ 22:51:17 #164
88418 _Xbox_Master_
Low frequency specialist
pi_35590628
quote:
Op dinsdag 28 februari 2006 22:49 schreef Scorpie het volgende:
waar staat je PostorderBedrijf class?
in dezelfde map

Apl.class
GUI.class
PostorderBedrijf.class
Klant.class
Artikel.class
Bestelling.class
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
  dinsdag 28 februari 2006 @ 22:55:37 #165
88418 _Xbox_Master_
Low frequency specialist
pi_35590814
quote:
Op dinsdag 28 februari 2006 22:51 schreef gelly het volgende:
Zet eens in alle classes bovenaan package testpackage;

En zet alle bestanden dan in een directory die zo heet.
Daar geeft ie geen foutmeldingen op dus ik kan aannemen dat de packages goed zijn?
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
pi_35591001
quote:
Op dinsdag 28 februari 2006 22:55 schreef _Xbox_Master_ het volgende:

[..]

Daar geeft ie geen foutmeldingen op dus ik kan aannemen dat de packages goed zijn?
Door er een package van te maken zorg je ervoor dat de classes elkaar kunnen "zien". Je moet het uiteraard nog wel testen...
pi_35591045
quote:
Op dinsdag 28 februari 2006 22:59 schreef gelly het volgende:

[..]

Door er een package van te maken zorg je ervoor dat de classes elkaar kunnen "zien". Je moet het uiteraard nog wel testen...
Als ze allemaal packageloos zijn staan ze in de default package en kunnen ze elkaar ook "zien". Niet netjes natuurlijk, maar voor de gemiddelde huiswerkopdracht van veertig regels goed genoeg.
"If you are depressed you shouldn't be in C major!" - Rick Beato
pi_35591253
quote:
Op dinsdag 28 februari 2006 23:00 schreef Litpho het volgende:

[..]

Als ze allemaal packageloos zijn staan ze in de default package en kunnen ze elkaar ook "zien". Niet netjes natuurlijk, maar voor de gemiddelde huiswerkopdracht van veertig regels goed genoeg.
Ik doe het altijd standaard Voorkomt dit soort foutjes..
  dinsdag 28 februari 2006 @ 23:06:53 #169
88418 _Xbox_Master_
Low frequency specialist
pi_35591286
quote:
Op dinsdag 28 februari 2006 22:59 schreef gelly het volgende:

[..]

Door er een package van te maken zorg je ervoor dat de classes elkaar kunnen "zien". Je moet het uiteraard nog wel testen...
ah ok, ik snap het
Alleen het werkt helaas niet

Apl.java:10: cannot find symbol
symbol : class GUI
location: class testpackage.Apl
GUI pobGUI = new GUI(POB);

en in alle classes nog een zooi van dit soort foutmeldingen
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
pi_35591333
Post de hele code eens, dan is het wat makkelijker op te lossen.
  dinsdag 28 februari 2006 @ 23:15:58 #171
88418 _Xbox_Master_
Low frequency specialist
pi_35591600
Apl.java:
1
2
3
4
5
6
7
8
9
10
import java.util.*;
import nl.hen.ict.assertion.Assertion;
import nl.hen.ict.gui.*;

public class Apl{
   public static void main(String[] args) {
      PostorderBedrijf POB = new PostorderBedrijf();
      GUI pobGUI = new GUI(POB);
   }
}


GUI.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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
import nl.hen.ict.assertion.Assertion;
import java.util.*;
import nl.hen.ict.gui.*;

public class GUI implements UseCaseHandler {
   
   private PostorderBedrijf postorderbedrijf;
   
   public GUI(PostorderBedrijf ditPOB) {
      postorderbedrijf = ditPOB;
      UseCase useCase = new UseCase("Opgave Bank A", this);
         useCase.addUseCase("Voeg Klant toe");
         useCase.addUseCase("Voeg Artikel toe");
         useCase.addUseCase("Bestel Artikel");
         useCase.addUseCase("Laat Schuld Klant zien");
         useCase.addUseCase("Laat Totale schuld van Alle Klanten zien");
      useCase.show();
   }

   public void handleUseCase(String useCaseName) {  //must be implemented
      if (useCaseName.equals("Voeg Klant toe")) {
         VoegKlantToe();
      } else {
         if (useCaseName.equals("Voeg Artikel toe")) {
            VoegArtikelToe();
         } else {
            if (useCaseName.equals("Bestel Artikel")) {
               BestelArtikel();
            } else {
               if (useCaseName.equals("Laat Schuld Klant zien")) {
                  OverzichtSchuld();
               } else {
                  if (useCaseName.equals("Laat Totale schuld van Alle Klanten zien")) {
                     TotaleSchuld();
                  }      
               }
            }
         }
      }
   }
   
   private void VoegKlantToe() {
      Questioner questioner = new Questioner("Invoer nieuwe Klant");
         questioner.addString("Naam","");
      boolean validInput = false;
      while (!validInput && !questioner.isCancelled()) {
         questioner.show();
         if (questioner.isOk()) {
            String naam = questioner.getString("Naam");
            postorderbedrijf.voegKlantToe(naam);   // geen controle op dubbelingen
            validInput = true;
         }
      }
   }
   
   public void VoegArtikelToe() {
      Questioner questioner = new Questioner("Invoer nieuw Artikel");
         questioner.addInt("Artikelnummer", 1000);
         questioner.addInt("Prijs", 0);
         questioner.addString("Omschrijving","");
      boolean validInput = false;
      while (!validInput && !questioner.isCancelled()) {
         questioner.show();
         if (questioner.isOk()) {
            int artikelnummer = questioner.getInt("Artikelnummer");
            int prijs = questioner.getInt("Prijs");
            String omschrijving = questioner.getString("Omschrijving");
            postorderbedrijf.VoegArtikelToe(artikelnummer, prijs, omschrijving);   // geen controle op dubbelingen
            validInput = true;
         }
      }
   }
   
   public void BestelArtikel() {
      Questioner questioner = new Questioner("Bestel Artikel");
         questioner.addInt("Artikelnummer", 1000);
         questioner.addString("Klantnaam","");
      boolean validInput = false;
      while (!validInput && !questioner.isCancelled()) {
         questioner.show();
         if (questioner.isOk()) {
            int artikelnummer = questioner.getInt("Artikelnummer");
            String naam = questioner.getString("Klantnaam");
            Klant klant = postorderbedrijf.geefKlant(naam);   // geen controle op dubbelingen
            Artikel artikel = postorderbedrijf.geefArtikel(artikelnummer);
            klant.bestel(artikel);
            validInput = true;
         }
      }
   }
   public void OverzichtSchuld() {
      Questioner questioner = new Questioner("Overzicht schuld");
         questioner.addString("Klantnaam","");
      boolean validInput = false;
      while (!validInput && !questioner.isCancelled()) {
         questioner.show();
         if(questioner.isOk()) {
            String naam = questioner.getString("Klantnaam");
            Klant klant = postorderbedrijf.geefKlant(naam);
            int bedrag = klant.schuld();
            Reporter reporter = new Reporter("Overzicht Schuld", 10, 40);
            reporter.println("De schuld van "+naam+" is: " +bedrag);
            reporter.show();
            validInput = true;
         }
      }      
   }
   
   public void TotaleSchuld() {
      Reporter reporter = new Reporter("Totale Schuld", 10, 80);
         int bedrag = postorderbedrijf.schuldKlanten();
         reporter.println("Schuld alle Klanten: "+bedrag);
         reporter.show();
   }
   
}
   


PostorderBedrijf.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
39
40
41
42
43
44
45
46
47
48
import java.util.*;
import nl.hen.ict.gui.*;
import nl.hen.ict.assertion.Assertion;

class PostorderBedrijf {
      
   private Map <Klant> klanten  = new HashMap <Klant> ();
   private Map <Artikel> artikelen  = new HashMap <Artikel> ();
   
   public PostorderBedrijf() {
   
   }

   public void voegKlantToe(String deNaam) {
      Assertion.require(deNaam != null, "Er is geen naam meegegeven");
      Klant deKlant = new Klant(deNaam);
      klanten.put(deNaam, deKlant);
   }
      
   public void voegArtikelToe(int hetNummer, double dePrijs, String omschrijving) {
      Assertion.require(hetNummer != 0 && dePrijs != 0, "Er is geen prijs of nummer meegegeven");
      Artikel hetArtikel = new Artikel(hetNummer, dePrijs, omschrijving);
      artikelen.put(hetNummer, hetArtikel);
   }

   public int schuldKlanten() {
      Iterator i  = klanten.values().iterator();
      Klant deKlant;
      int totaal = 0;
      while(i.hasNext()) {
         deKlant = (Klant) i.next();
         bedrag = deKlant.schuld();
         totaal = totaal + bedrag;
      }
      return totaal;
   }
   
   public Klant geefKlant(String naam) {
      Klant klant = (Klant) klanten.get(naam);
      return Klant;   
   }
   
   public Artikel geefArtikel(int hetNummer) {
      Artikel artikel = (Artikel) artikelen.get(nummer);
      return artikel;
   }
   
}


Artikel.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
import nl.hen.ict.assertion.Assertion;
import java.util.*;
import nl.hen.ict.gui.*;

class Artikel {
   private int artikelnummer;
   private int prijs;
   private String omschrijving;
   
   public Artikel(int hetNummer, int dePrijs, String deOmschrijving) {
      Assertion.require(hetNummer > 1000 && hetNummer <= 9999, "Artikelnummer is niet goed");
      Assertion.require(dePrijs >= 0, "Geen prijs opgegeven");
       artikelnummer = hetNummer;
      prijs = dePrijs;
      omschrijving = deOmschrijving;
      Assertion.ensure(artikelnummer == hetNummer && prijs == dePrijs, "Artikelnummer en prijs niet correct");
    }

   public int getPrijs() {
      return prijs;
   }

   public String getOmschrijving() {
      return omschrijving;
   }
}


Klant.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
39
40
41
42
43
import java.util.*;
import nl.hen.ict.assertion.Assertion;
import nl.hen.ict.gui.*;

class Klant {
   private String naam;
   private Map <Bestelling> bestellingen = new HashMap <Bestelling> ();
   private int schuld;

   public Klant(String deNaam) {
      Assertion.require(deNaam != null, "Er is geen naam meegegeven");
      naam = deNaam;
      Assertion.ensure(naam.equals(deNaam), "Naam is correct");
   }

   public void bestel(Artikel eenArtikel) {
      Assertion.require(eenArtikel != null, "Er is geen Artikel meegegeven");
      int bestelnummer = getLaatsteBestelNummer() + 1;
      Bestelling deBestelling = new Bestelling(eenArtikel, bestelnummer);
      bestellingen.put(bestelnummer, eenArtikel);   
   }

   public int schuld() {
      Bestelling bestelling;
      Iterator i = bestellingen.values().iterator();
      while(i.hasNext() ) {
         bestelling = (Bestelling) i.next();
         int bedrag = bestelling.getKosten();
         schuldklant = schuld + bedrag;
      }
      return schuldklant;   
   }

   public int getLaatsteBestelNummer() {
      Iterator i = bestellingen.values().iterator();
      Bestelling bestelling;
      while(i.hasNext()) {
         bestelling = (Bestelling)i.next();
         int nummer = bestelling.getBestelnummer();
      }   
      return nummer;
   }
}


Bestelling.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.*;
import nl.hen.ict.assertion.Assertion;
import nl.hen.ict.gui.*;

class Bestelling {
      
      private int bestelnummer;
      private Artikel artikel;
      
      public Bestelling(int hetBestelnummer, Artikel hetArtikel) {
         bestelnummer = hetBestelnummer;
         artikel = hetArtikel;
      }
      
      public int getBestelnummer() {
         return bestelnummer;
      }
      
      public int getKosten() {
         int bedrag = artikel.getPrijs();
         return bedrag;
      }
}
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
  dinsdag 28 februari 2006 @ 23:16:39 #172
88418 _Xbox_Master_
Low frequency specialist
pi_35591626
Er zullen vast nog wel een zooi andere fouten in zitten maar ik wil graag dat de andere classes herkent worden
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
pi_35591906
Is dat de oude of nieuwe code ?
  dinsdag 28 februari 2006 @ 23:26:38 #174
88418 _Xbox_Master_
Low frequency specialist
pi_35591951
quote:
Op dinsdag 28 februari 2006 23:25 schreef gelly het volgende:
Is dat de oude of nieuwe code ?
zonder deze regel: package testpackage;
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
pi_35592403
En je ClassPath verwijst ook naar de dir waar de classes staan ?
  dinsdag 28 februari 2006 @ 23:42:06 #176
88418 _Xbox_Master_
Low frequency specialist
pi_35592504
quote:
Op dinsdag 28 februari 2006 23:38 schreef gelly het volgende:
En je ClassPath verwijst ook naar de dir waar de classes staan ?
Mijn classpath verwijst naar de dir waar de nl.hen.ict packages staan die ik overal importeer.
Ik verander die wel even om te kijken of ie het dan doet
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
  dinsdag 28 februari 2006 @ 23:44:32 #177
88418 _Xbox_Master_
Low frequency specialist
pi_35592589
nee
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
  dinsdag 28 februari 2006 @ 23:46:11 #178
88418 _Xbox_Master_
Low frequency specialist
pi_35592638
Ik probeer het morgen op school wel op de Linux computers, ik heb genoeg java gedaan voor vandaag
In ieder geval bedankt voor je hulp
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
  woensdag 15 maart 2006 @ 20:11:51 #179
108558 Messenga
goeiendag wat een geheel!
pi_36066698
Nou, ik kom me ook weer eens melden . Feest .


Met de volgende code heb ik een leuke code die van Decimaal naar binair gaat.

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
/*
   A basic extension of the java.applet.Applet class
 */

import java.awt.*;
import java.applet.*;

public class Applet1 extends Applet
{
   public void init()
   {
      // Take out this line if you don't use symantec.itools.net.RelativeURL or symantec.itools.awt.util.StatusScroller
      symantec.itools.lang.Context.setApplet(this);
   
      // This code is automatically generated by Visual Cafe when you add
      // components to the visual environment. It instantiates and initializes
      // the components. To modify the code, only use code syntax that matches
      // what Visual Cafe can generate, or Visual Cafe may be unable to back
      // parse your Java file into its visual environment.
      //{{INIT_CONTROLS
      setLayout(null);
      setBackground(java.awt.Color.lightGray);
      setSize(426,266);
      add(decimaalGetalVeld);
      decimaalGetalVeld.setBounds(228,48,132,42);
      add(binairGetalVeld);
      binairGetalVeld.setBounds(228,120,132,42);
      ConversieButton.setLabel("Decimaal -> Binair");
      add(ConversieButton);
      ConversieButton.setBackground(java.awt.Color.lightGray);
      ConversieButton.setBounds(36,192,168,49);
      label1.setText("Decimaal Getal");
      add(label1);
      label1.setFont(new Font("Dialog", Font.PLAIN, 20));
      label1.setBounds(24,48,161,34);
      label2.setText("Binair Getal : ");
      add(label2);
      label2.setFont(new Font("Dialog", Font.PLAIN, 20));
      label2.setBounds(24,120,161,34);
      BinDecButton.setLabel("Binair -> Decimaal");
      add(BinDecButton);
      BinDecButton.setBackground(java.awt.Color.lightGray);
      BinDecButton.setBounds(228,192,168,49);
      //}}
   
      //{{REGISTER_LISTENERS
      SymAction lSymAction = new SymAction();
      ConversieButton.addActionListener(lSymAction);
      BinDecButton.addActionListener(lSymAction);
      //}}
   }
   
   //{{DECLARE_CONTROLS
   java.awt.TextField decimaalGetalVeld = new java.awt.TextField();
   java.awt.TextField binairGetalVeld = new java.awt.TextField();
   java.awt.Button ConversieButton = new java.awt.Button();
   java.awt.Label label1 = new java.awt.Label();
   java.awt.Label label2 = new java.awt.Label();
   java.awt.Button BinDecButton = new java.awt.Button();
   //}}

   class SymAction implements java.awt.event.ActionListener
   {
      public void actionPerformed(java.awt.event.ActionEvent event)
      {
         Object object = event.getSource();
         if (object == ConversieButton)
            ConversieButton_ActionPerformed(event);
         else if (object == BinDecButton)
            BinDecButton_ActionPerformed(event);
      }
   }

   void ConversieButton_ActionPerformed(java.awt.event.ActionEvent event)
   {
       int decGetal = Integer.parseInt(decimaalGetalVeld.getText());
       String resultaat = "" ;
       do
       {
           if (decGetal % 2==0)
           resultaat = "0" + resultaat;
           else
           { 
               resultaat = "1" + resultaat;
               decGetal --;
           }
           decGetal = decGetal / 2;
       }
       while (decGetal >0);
       binairGetalVeld.setText(resultaat);
       
      // Eerst zet hij de int van het gehele decimale getal om in een tekstvorm door middel
      // van parseInt. Die haalt hij uit het DecimaalGetalVeld.
      // vervolgens kijkt hij of het resultaat wat je krijgt te delen is door 2 waarna je 
      // een rest getal van 0 krijgt. Is dit zo dan geeft hij het resultaat in het BinairGetalVeld.
      // Anders doet hij daar nog 1 bij op om hem wel te kunnen converteren in een WEL geheel 
      // binair getal. Dit resultaat komt uiteraard in het het binairGetalVeld.
      
   }

   void BinDecButton_ActionPerformed(java.awt.event.ActionEvent event)
   {
      // to do: code goes here.
   }
}


Die werkt ook.

Maar nu moet ik dat andersom doen. Dus van Binair naar Decimaal. Maar ik heb geen idee hoe .

Instructies: Maak gebruik van de String 'lenght(); ' en substring (int,int).

Anyone?
pi_36067757
quote:
Op woensdag 15 maart 2006 20:11 schreef Messenga het volgende:
Nou, ik kom me ook weer eens melden . Feest .


Met de volgende code heb ik een leuke code die van Decimaal naar binair gaat.
[ code verwijderd ]

Die werkt ook.

Maar nu moet ik dat andersom doen. Dus van Binair naar Decimaal. Maar ik heb geen idee hoe .

Instructies: Maak gebruik van de String 'lenght(); ' en substring (int,int).

Anyone?
Gewoon, optellen. Zoiets als hieronder dus.
1
2
3
4
5
6
7
8
9
10
11
public long binToDec(String bin) {
  long decimaal = 0;

  for ( int i=0; i < bin.length(); i++ ) {
    if ( bin.substring( i, i+1 ).equals("1") ) {
      decimaal += Math.round( Math.pow( 2, i ) );
    }
  }

  return decimaal;
}
"If you are depressed you shouldn't be in C major!" - Rick Beato
  woensdag 15 maart 2006 @ 20:46:21 #181
108558 Messenga
goeiendag wat een geheel!
pi_36067847
Ohja . Was vergeten te zeggen dat het in Actionpeformed moet. Of maakt dat niet uit?
pi_36067877
quote:
Op woensdag 15 maart 2006 20:46 schreef Messenga het volgende:
Ohja . Was vergeten te zeggen dat het in Actionpeformed moet. Of maakt dat niet uit?
Ik zie hier een nobele taak voor je .
"If you are depressed you shouldn't be in C major!" - Rick Beato
pi_36067975
Vergeet je niet de String om te draaien voordat je het uitrekend Litpho? Ik dacht dat de berekening van achteren naar voren ging?
pi_36067987
quote:
Op woensdag 15 maart 2006 20:50 schreef HuHu het volgende:
Vergeet je niet de String om te draaien voordat je het uitrekend Litpho?
Duh. Natuurlijk vergeet ik dat wel .
"If you are depressed you shouldn't be in C major!" - Rick Beato
  woensdag 15 maart 2006 @ 20:56:32 #185
108558 Messenga
goeiendag wat een geheel!
pi_36068170
Daar gaan we weer.. Errors.. love it .

Error: D:\Documents and Settings\Niek \Mijn documenten\School\Opdracht 45\Applet1.java(102): '}' expected.
{ public long binToDec(String bin) {
^
Error: D:\Documents and Settings\Niek \Mijn documenten\School\Opdracht 45\Applet1.java(102): Statement expected.
{ public long binToDec(String bin) {
^
Error: D:\Documents and Settings\Niek \Mijn documenten\School\Opdracht 45\Applet1.java(116): Class or interface declaration expected.
}
^
Error: D:\Documents and Settings\Niek \Mijn documenten\School\Opdracht 45\Applet1.java(70): Method BinDecButton_ActionPerformed(java.awt.event.ActionEvent) not found in inner class Applet1. SymAction.
BinDecButton_ActionPerformed(event);
^
4 errors
Build Failed
pi_36071532
Het lijkt net of je een methode binnen een methode aan het declareren bent. Daar lijken de fouten op in elk geval. dus bijvoorbeeld

public int blaat() {
publicl long binToDec(String bin) {
return 0;
}
return 0;
}

Ik denk dat je dat doet ipv de 2 methodes onder elkaar zetten.
  maandag 10 april 2006 @ 16:18:56 #187
108558 Messenga
goeiendag wat een geheel!
pi_36825895
.


Voor school weer eens een vraagje



Hele leuke applet.

Hoe zorg ik ervoor dat die radiobuttons het doen? Zodat het gehele veld die kleur wordt, met uitzondering van het radio button veld zelf?
pi_36826744
Door een eventhandler aan je radiobuttongroup te hangen he
  maandag 10 april 2006 @ 16:44:53 #189
108558 Messenga
goeiendag wat een geheel!
pi_36826818
quote:
Op maandag 10 april 2006 16:42 schreef gelly het volgende:
Door een eventhandler aan je radiobuttongroup te hangen he
Ja goh, maar hoe ziet de code er ongeveer uit ?
pi_36827556
quote:
Op maandag 10 april 2006 16:44 schreef Messenga het volgende:

[..]

Ja goh, maar hoe ziet de code er ongeveer uit ?
Daar zijn meerdere manieren voor...

In het geval van een JRadioButto :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
mijnRadioButton.addChangeListener(new javax.swing.event.ChangeListener()
  {
      public void stateChanged(ChangeEvent e)
        {
            mijnRadioButton_stateChanged(e)
       }
});

En dan ergens anders in je applet een methode 

private void mijnRadioButton_stateChanged(ChangeEvent e)

{

    \\hier de code die de kleur moet veranderen..

}


Uit m'n hoofd dus pin me d'r niet op vast
  maandag 10 april 2006 @ 17:12:31 #191
108558 Messenga
goeiendag wat een geheel!
pi_36827760
Het is een gewone Radio button, van een AWT applet, verandert dat de zaak ?
pi_36827990
Changelistener wordt dan ItemListener, stateChanged itemStateChanged en ChangeEvent ItemEvent.. javax.swing.event wordt java.awt.event
  maandag 10 april 2006 @ 18:54:41 #193
108558 Messenga
goeiendag wat een geheel!
pi_36830886
Ja, hij veranderd al .

Alleen maar heel kort .

Ik klik op de radiobutton, hij verandert et kleurtje voor 1 sec. en dan gaat ie weer terug naar de oorspronkelijke kleur
pi_36835304
Even iets waarschijnlijks heel doms, maar ik ben net begonnen met Java en ben bezig met een 3d engine.

Ik heb het 3d draw gedeelte al voor elkaar, maar nu is er een klein probleem:

Om het perspectief te berekenen gebruik ik de volgende formule: perspectief = schaal/(schaal-z) waarvan z de z coordinaat is.

Omdat hier zeer kleine waarden kunnen uitkomen heb ik dit getal als double gedeclareerd.
Maar nu moet hier uiteindelijk weer een integer van gemaakt worden, omdat anders de draw-coordinaat een double is.

Ik probeer nu op allerhande manieren hier weer een integer van te maken, maar dit lijkt wel zowat onmogelijk.

Is er toevallig iemand die mij dit uit kan leggen?

Dank jullie wel.
pi_36836294
Heb het al. Altijd lastig een nieuwe taal.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
   void drawLine(int x1, int y1,int z1, int x2, int y2, int z2, Graphics g) {      
      double    px1 = x1 * perspective(z1),
            px2 = x2 * perspective(z2),
            py1 = y1 * perspective(z1),
            py2 = y2 * perspective(z2);   
            int ipx1 = (int)px1;
            int ipx2 = (int)px2;
            int ipy1 = (int)py1;
            int ipy2 = (int)py2;
            g.drawLine(ipx1,ipy1,ipx2,ipy2);
   }
   
   double perspective(int z) {
      double p = (double)s/((double)s-(double)z);
      return p;
   }
pi_36842558
Je weet dat Java een 3D-API heeft ?
  dinsdag 11 april 2006 @ 10:35:42 #197
85129 dikkedorus
connaisseur van de wansmaak
pi_36848650
Werk met transformatie matrices ipv zelf al die vermenigvuldigingen te doen. Als je echt serieus een engine wilt maken.
Mini smilies tool voor alle [sub] en [sup] liefhebbers.
pi_36855902
quote:
Op dinsdag 11 april 2006 10:35 schreef dikkedorus het volgende:
Werk met transformatie matrices ipv zelf al die vermenigvuldigingen te doen. Als je echt serieus een engine wilt maken.
Wat houdt dit dan in? of heb je misschien een linkje naar een artikel over dit onderwerp?
  dinsdag 11 april 2006 @ 14:59:21 #199
67478 Radjesh
Dire Straits!
pi_36855956
tvp
  woensdag 12 april 2006 @ 09:26:58 #200
8152 Gabberhead
Komm in mein Boot
pi_36878888
Ook even tvp... Ik ben zelf bezig om Java te leren voor m'n werk, maar ik blijf het lastig vinden.
Oracle en Java ontwikkelaars hier melden! http://www.oracletoppers.nl of http://www.javatoppers.nl
Nu ook op http://www.flitspaal.nl
pi_37092556
Ik moet voor me opleiding nu programmeren met Java. Nou moet ik binnenkort een lesje missen dus dacht ik die les thuis alvast te maken maar nou loop ik helemaal in de shit met het instaleren van java.

Op zich werkt alles, java compiled me files probleemloos. Maar zodra ik me file execute zegt die java.lang.NoClassDefFoundError: Part3
Exception in thread "main"

Nou zal het dus wel liggen aan de library die we gebruiken voor die functies maar ik kan echt niet vinden wat ik fout heb gedaan ik heb alles geinstalleerd volgens deze manual: http://sepc.twi.tudelft.n(...)handleiding-2006.pdf
Is er iemand die na aanzien van mijn foutmelding kan zien wat ik fout doe en me misschien kan helpen?
pi_37092792
je moet wat code gaan pasten
  woensdag 19 april 2006 @ 13:03:57 #203
25527 FallenAngel666
Think of the kittens!
pi_37092842
Naar alle waarschijnlijkheid is er iets mis met de configuratie van je classpath.
Probeer je te runnen vanuit een IDE (zo ja welke?) of vanaf de commandline?
Signature:
Maximaal
4
regels
pi_37093400
Jeetje ingewikkelde taal daar was ik al bang voor :p. Ik geloof dat je je afvraagt welke editor ik gebruik voor het runnen, dat is Context maar ik heb het ook geprobeerd met dos en daar kreeg ik precies dezelfde fout.

Ik dacht zelf ook al dat er iets mis was met me classpath, ik heb het geprobeerd precies zo te doen als in die manual staat met dit als resultaat:



Zien jullie daar misschien toch nog een foutje in?
Die andere java file die in die omgevingsvariabelen staan stond er al en had ik maar laten staan, dat leek me het beste maar misschien werkt die tegen ofzo?

De code die ik probeer te runnen is gewoon die testcode:
1
2
3
4
5
6
7
8
9
import element.*;

public class Test
{
       public static void main(String[] args)
       {
         System.out.println("Dit is een test");
       }
}
  woensdag 19 april 2006 @ 13:35:05 #205
8152 Gabberhead
Komm in mein Boot
pi_37093670
In je classpath staat C:\j2sdk1.4.2.11\ en C:\j2sdk1.4.2_11\
In je PATH is het C:\j2sdk1.4.2_11\

Eentje daarvan is fout en de andere niet. Mijn vermoeden is dat de entries met de underscore goed zijn

Sterker nog, ik denk dat je de stukjes met element.zip er helemaal uit kan halen. Een path kijkt naar een directory en de files die er in staan. Niet naar een file direct.
Oracle en Java ontwikkelaars hier melden! http://www.oracletoppers.nl of http://www.javatoppers.nl
Nu ook op http://www.flitspaal.nl
pi_37093706
quote:
Op woensdag 19 april 2006 13:35 schreef Gabberhead het volgende:
In je classpath staat C:\j2sdk1.4.2.11\ en C:\j2sdk1.4.2_11\
In je PATH is het C:\j2sdk1.4.2_11\

Eentje daarvan is fout en de andere niet. Mijn vermoeden is dat de entries met de underscore goed zijn
Ik wilde het net zeggen, check dat even na!
pi_37093964
Bedankt dat jullie effe meekijken. Dat was idd een foutje de underscore is goed, heb het verbeterd maar nog steeds hetzelfde probleem. Verder nog ideeen?
  woensdag 19 april 2006 @ 13:56:28 #208
25527 FallenAngel666
Think of the kittens!
pi_37094179
In het classpath (systeemvariabele) moet je de Program Files entry voor de JRE/lib directory eens tussen aanhalingstekens zetten. Spaties vind ie niet leuk.
Ook zou ik . (huidige directory) daarin opnemen.

Zoiets bijvoorbeeld:

1CLASSPATH = .;"C:\Program Files\Java\jre1.5.0_04\lib"


[ Bericht 33% gewijzigd door FallenAngel666 op 19-04-2006 14:08:40 ]
Signature:
Maximaal
4
regels
pi_37095450
Ahhh geweldig! Het alg aan die .; aan het begin, het werkt nu als een tiet . Bedankt voor jullie hulp!
  woensdag 19 april 2006 @ 15:07:01 #210
25527 FallenAngel666
Think of the kittens!
pi_37096047
Dat krijg je als je een teksteditor gebruikt voor applicatie ontwikkeling in plaats van een volwaardige IDE, zoals Eclipse. Die regelt dat lekker voor je
Signature:
Maximaal
4
regels
pi_37096205
Ja vertaal dat maar aan de docenten van het vak . Ik moet al me code in context laten zien en mondeling onderbouwen dus kan ik dat volgens mij ook het beste thuis maar zo doen. Ik ga vanavond eens aan de slag en zal hier vast nog wel eens terug te vinden zijn met een andere java vraag .
pi_37096239
quote:
Op woensdag 19 april 2006 15:07 schreef FallenAngel666 het volgende:
Dat krijg je als je een teksteditor gebruikt voor applicatie ontwikkeling in plaats van een volwaardige IDE, zoals Eclipse. Die regelt dat lekker voor je
Idd Build Automatically
  woensdag 19 april 2006 @ 15:37:06 #213
25527 FallenAngel666
Think of the kittens!
pi_37096963
quote:
Op woensdag 19 april 2006 15:13 schreef Scorpie het volgende:

[..]

Idd Build Automatically
Dat heb ik een keer per ongeluk uitgezet.
Ik m'n code blijven veranderen en runnen en de wijzigingen maar niet willen werken...
Voordat ik er achter was dat ik continu een 'dirty build' aan't runnen was
Signature:
Maximaal
4
regels
  zaterdag 22 april 2006 @ 14:31:13 #214
10086 Heerlijkheid
gebiedt mij te zeggen
pi_37184961
http://tsdb.wto.org/wto/P(...)Report3?OpenFrameSet

Ik wil op deze site kijken, maar ik zie alleen een kruisje. Ik ben al op de Java-site geweest en alles gedownload wat mogelijk is, maar ik zie nog steeds dat achterlijke kruisje. Heeft iedereen hier dat probleem of ben ik de enige?
pi_37185205
interesant
  zaterdag 22 april 2006 @ 14:53:01 #216
10086 Heerlijkheid
gebiedt mij te zeggen
pi_37185434
Schopje
pi_37186412
Heb je je browser al opnieuw opgestart ?
  zaterdag 22 april 2006 @ 15:42:03 #218
17897 Cart_man
Love to be hated
pi_37186447
Laat ik maar een hele late tvp plaatsen.

Binnenkort weer aan de slag met java voor studie. Kan er nog steeds niks van.
A.M.A.B
  zaterdag 22 april 2006 @ 15:54:35 #219
10086 Heerlijkheid
gebiedt mij te zeggen
pi_37186691
quote:
Op zaterdag 22 april 2006 15:40 schreef gelly het volgende:
Heb je je browser al opnieuw opgestart ?
Ja... maar ik heb het probleem ook op een andere computer... lukt het jou wel dan?
pi_37186781
Ik zie geen kruisje maar een groot wit vlak.. Die site is rot volgens mij...
quote:
<HTML>
<!-- Lotus-Domino (Release 5.0.2a (Intl) - 23 November 1999 on Windows NT/Intel) -->
<HEAD>
  zaterdag 22 april 2006 @ 16:00:25 #221
10086 Heerlijkheid
gebiedt mij te zeggen
pi_37186804
Alles willen moderniseren maar dan zelf niet in staat zijn om iets fatsoenlijks te produceren?
pi_37186880
Maar goed, echt veel met Java heeft het niet te maken
pi_37187210
Ik kan trouwens wel wat in java programmeren
pi_37187228
Bedankt voor deze nuttige bijdrage !
pi_37292401
Misschien een domme vraag, maar ik kom er niet uit:
ik heb een double, en die wil ik graag in een textfield krijgen. Nou wil .setText() alleen maar strings gevoerd krijgen. Hoe moet ik nou die double converteren naar een string? Iemand een idee?
pi_37292567
quote:
Op dinsdag 25 april 2006 21:04 schreef teehknaL het volgende:
Misschien een domme vraag, maar ik kom er niet uit:
ik heb een double, en die wil ik graag in een textfield krijgen. Nou wil .setText() alleen maar strings gevoerd krijgen. Hoe moet ik nou die double converteren naar een string? Iemand een idee?
Er is een smerig truucje voor, dat is deze:

.setText("" + deDouble );

Hierbij wordt de double automatisch naar een Sting omgezet, omdat je deze met de + aan een (lege) string plakt. En de nette manier is:

.setText(String.valueOf(deDouble));
pi_37294016
quote:
Op dinsdag 25 april 2006 21:09 schreef HuHu het volgende:
Er is een smerig truucje voor, dat is deze:

.setText("" + deDouble );

Hierbij wordt de double automatisch naar een Sting omgezet, omdat je deze met de + aan een (lege) string plakt. En de nette manier is:

.setText(String.valueOf(deDouble));
Hee thanx!
pi_37297452
quote:
Op dinsdag 25 april 2006 21:09 schreef HuHu het volgende:

[..]

Er is een smerig truucje voor, dat is deze:

.setText("" + deDouble );

Hierbij wordt de double automatisch naar een Sting omgezet, omdat je deze met de + aan een (lege) string plakt. En de nette manier is:

.setText(String.valueOf(deDouble));
parseDouble
pi_37298885
quote:
Op dinsdag 25 april 2006 23:01 schreef ARKON het volgende:
parseDouble
parseDouble gebruik ik de andere kant op
1
2
String str = diameterTextField.getText();
double diameter = Double.parseDouble(str);

of kan het ook andersom?
  dinsdag 25 april 2006 @ 23:57:29 #230
25527 FallenAngel666
Think of the kittens!
pi_37299153
Nee.
Signature:
Maximaal
4
regels
pi_38196685
Ik heb het een java opdracht waar ik niet uitkom. De opdracht is dat je zelf een versie van de indexOf() method maakt. Deze methode kijkt op welke positie string2 in string1 zit en als die er helemaal niet inzit retourneert die -1. Ik moet dit maken op 2 manieren, 1 manier met loopjes die heb ik nu zo goed als af en een recursieve manier waarvan ik geen idee heb hoe dat moet.

Tot zover was ik gekomen met de manier met loops:
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import element.*;

public class Opdracht3part1a
{
  public static void main(String [] args)

  {
   String s1 = "Happy New Year";
   String s2 = "ew Y";

   //System.out.println(s2.length());

  System.out.println(s1.indexOf(s2));
   
  System.out.println(indexOf(s1,s2));
  }
 public static int indexOf(String s1, String s2)
  {
     char c, d, e, f;
     int i, k, x, y, z, h=-1;

    for (i=0; i < s1.length(); i++)
     {
      c = s1.charAti;

     for (k=0; k < s2.length(); k++)
     {
      d = s2.charAt(k);
        boolean sjaak = true;
        if (c==d)
      {
         h=i;
        x=i;
        y=k;
        while(sjaak)
        {
        x=x+1;
        y=y+1;

        e = s1.charAt(x);
        f = s2.charAt(y);
        if (e==f)
        {
           sjaak = true;
          z=y;
          z=z+1;
          if (z==s2.length())
          return h;
        }
        else
        {
        sjaak = false;
        h=-1;
        }
        }
        }
       else
       {
       k=k+s2.length();
       h=-1;
        }
     }
   }
        return h;
}
}


Enige wat hier nog niet goed aan is, is dat als je een lege string invoert die een foutmelding geeft evens als je een spatie als s2 invoert. Iemand dus een idee hoe ik dat er uit krijg?

En dan is het dus nog de bedoeling dat ik hier ook een recursieve methode van maak, volgens mij is dat dus nooit mogelijk met 2 parameters en moet ik er minstens nog 1 extra gebruiken. Kan iemand mij daarmee op weg helpen?
  donderdag 25 mei 2006 @ 15:27:56 #232
2671 Aaargh!
Gebruik op eigen risico.
pi_38200207
Tip: als je code schrijft, probeer deze dan leesbaar te houden, o.a. door goede namen te kiezen voor je variabelen. En correct inspringen is ook geen overbodige luxe.
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
39
40
41
42
43
44
45
public class index 
{

   public static void main(String[] args) 
   {   
      System.out.println("index:" + indexOf("testhallo","tst"));
      System.out.println("index:" + indexOfLooped("testhallo","tst"));
      System.out.println("index:" + indexOf("hallotesthallo","test"));
      System.out.println("index:" + indexOfLooped("hallotesthallo","test"));
   }

   // recursief
   public static int indexOf(String haystack, String needle) 
   {
      if(haystack.length() >= needle.length())
      {
         if(haystack.startsWith(needle))
         {
            return 0;
         } else
         {
            int index = indexOf(haystack.substring(1),needle);
            if(index == -1)
               return -1;
            else
               return 1+index;
         }
      } else
      {
         return -1;
      }
   }
   
   // lus
   public static int indexOfLooped(String haystack, String needle)
   {
      for(int index = 0; haystack.length() > 0; index++)
      {
         if(haystack.startsWith(needle))
            return index;
         haystack = haystack.substring(1);
      }
      return -1;
   }
}
It is impossible to live a pleasant life without living wisely and well and justly.
And it is impossible to live wisely and well and justly without living a pleasant life.
pi_38201010
Wow je hebt zelfs de hele code voor me gemaakt . Super bedankt en heel slim idd met die substring methode, mijn methode was een stuk omslachtiger. Wat betreft die tip, daar heb je natuurlijk gelijk in maar ik ben nog slechts een beginner en de meeste codes die ik maak zijn gewoon een zooitje . Ik ga er eens op letten!
pi_38201860
Ik zit nog steeds te kijken hoe je dat nou flikt met die lus manier.

Je kijkt eerst of de eerste string begint met dezelfde letter als de 2de string. Is dit zo dan return je de index van hoe vaak die al door de loop geweest is. Daarnaast doe je ook iedere iteratie de eerste letter van string1 afnemen zodat je steeds met een andere letter vergelijkt. Maar wat ik nou niet snap hoe kan het dit systeem ook werkt als je bijvoorbeeld de eerste test of Test gelijk is aan TeSt. Als ik naar deze code kijk dan zie ik alleen maar dat er vergeleken word of de eerste letter gelijk is van een woord. Maar op de een of andere manier werkt het toch allemaal. Kan je me misschien uitleggen waar die vergelijking dan gemaakt wordt?
  donderdag 25 mei 2006 @ 16:32:53 #235
85514 ralfie
!Yvan eht nioj
pi_38202260
quote:
Op donderdag 25 mei 2006 16:21 schreef KneiterS het volgende:
Ik zit nog steeds te kijken hoe je dat nou flikt met die lus manier.

Je kijkt eerst of de eerste string begint met dezelfde letter als de 2de string. Is dit zo dan return je de index van hoe vaak die al door de loop geweest is. Daarnaast doe je ook iedere iteratie de eerste letter van string1 afnemen zodat je steeds met een andere letter vergelijkt. Maar wat ik nou niet snap hoe kan het dit systeem ook werkt als je bijvoorbeeld de eerste test of Test gelijk is aan TeSt. Als ik naar deze code kijk dan zie ik alleen maar dat er vergeleken word of de eerste letter gelijk is van een woord. Maar op de een of andere manier werkt het toch allemaal. Kan je me misschien uitleggen waar die vergelijking dan gemaakt wordt?
je zou eens na moeten lezen wat StartsWith doet:

http://java.sun.com/j2se/(...)th(java.lang.String)

check ook de andere functie erboven, startWith(string, offset), dat werkt nog makkelijker
pi_38301245
Daar ben ik weer met nog een vraagje :
Ik moet nu wat opdrachtjes maken over arrays. Allereerst moet ik een array initialiseren van 40 elements en vervolgens zorgen dat alle 40 de waarde 0 hebben. Dit heb ik gedaan met een loopje:
1
2
3
    int[]myArray = new int[40];
    for(int i=0; i < 40; i++)
     myArray[i]=0;

Werkt op zich prima maar ik vroeg me af of er niet gewoon een functie voor is in java? Dat je dat loopje niet nodig hebt maar dat vanzelf alles gevuld wordt met 0?

In de opdracht moet ik verder 500 random getallen trekken tussen 0 en 39 en dan steeds 1tje optellen in de desbetreffende deel van de array. Dat lukt allemaal prima. Dan moet ik de het hoogste getal van de array nemen en het laagste, deze optellen en delen door 2, dat wordt dan het getal half. Dat lukt ook. Maar dan moet ik een 2de array maken waar alleen de getallen lager dan half ingezet mogen worden. Nou lukt het idee me opzich wel, dat doe ik namelijk als volgt:
1
2
3
4
5
6
7
8
9
    int k=0;    
    for (int i=0; i < 40; i++)
    {
      if (myArray[i]<half)
        {
          myArray2[k]=myArray[i];
          k=k+1;
        }
    }

Alleen moet je natuurlijk eerst die array initialiseren en dan moet je een getal opgeven van hoeveel plaatsen je wilt in die array, maar vantevoren weet ik nog helemaal niet hoeveel plaatsen ik nodig heb. Nou vraag ik me af hoe ik dat dan voor elkaar kan krijgen is er geen functie dat je steeds een extra plaatsje erbij kan maken in je array? Ik hoop dat het een beetje duidelijk is .
  zondag 28 mei 2006 @ 15:12:16 #237
2671 Aaargh!
Gebruik op eigen risico.
pi_38301765
quote:
Op zondag 28 mei 2006 14:58 schreef KneiterS het volgende:
Daar ben ik weer met nog een vraagje :
Ik moet nu wat opdrachtjes maken over arrays. Allereerst moet ik een array initialiseren van 40 elements en vervolgens zorgen dat alle 40 de waarde 0 hebben. Dit heb ik gedaan met een loopje:
[ code verwijderd ]

Werkt op zich prima maar ik vroeg me af of er niet gewoon een functie voor is in java? Dat je dat loopje niet nodig hebt maar dat vanzelf alles gevuld wordt met 0?
In java.ulils.Arrays zit een static methode fill() (zie API docs)
quote:
In de opdracht moet ik verder 500 random getallen trekken tussen 0 en 39 en dan steeds 1tje optellen in de desbetreffende deel van de array. Dat lukt allemaal prima. Dan moet ik de het hoogste getal van de array nemen en het laagste, deze optellen en delen door 2, dat wordt dan het getal half. Dat lukt ook. Maar dan moet ik een 2de array maken waar alleen de getallen lager dan half ingezet mogen worden. Nou lukt het idee me opzich wel, dat doe ik namelijk als volgt:
[ code verwijderd ]

Alleen moet je natuurlijk eerst die array initialiseren en dan moet je een getal opgeven van hoeveel plaatsen je wilt in die array, maar vantevoren weet ik nog helemaal niet hoeveel plaatsen ik nodig heb. Nou vraag ik me af hoe ik dat dan voor elkaar kan krijgen is er geen functie dat je steeds een extra plaatsje erbij kan maken in je array? Ik hoop dat het een beetje duidelijk is .
Arrays zijn vies. Eigenlijk moet je docent een pak slaag omdat ie je met arrays bezig laat zijn, maar goed.

Als ik het goed begrijp moet je een 2e array opleveren waarin alleen de getallen staan uit array 1 die lager zijn dan de variabele 'half'. Begrijp ik het goed als ik hieruit opmaak dat de 2e array geen 'lege' posities mag bevatten en dat deze verder op dezelfde volgorde moet zijn als array 1 ?

Wat je docent denk ik wil is dat je eerst een lusje maakt die telt hoeveel items in array 1 er lager zijn dan 'half' en dat je deze gebruikt om een nieuwe array aan te maken.
It is impossible to live a pleasant life without living wisely and well and justly.
And it is impossible to live wisely and well and justly without living a pleasant life.
pi_38301943
quote:
Op zondag 28 mei 2006 15:12 schreef Aaargh! het volgende:

[..]

In java.ulils.Arrays zit een static methode fill() (zie API docs)
[..]

Arrays zijn vies. Eigenlijk moet je docent een pak slaag omdat ie je met arrays bezig laat zijn, maar goed.

Als ik het goed begrijp moet je een 2e array opleveren waarin alleen de getallen staan uit array 1 die lager zijn dan de variabele 'half'. Begrijp ik het goed als ik hieruit opmaak dat de 2e array geen 'lege' posities mag bevatten en dat deze verder op dezelfde volgorde moet zijn als array 1 ?

Wat je docent denk ik wil is dat je eerst een lusje maakt die telt hoeveel items in array 1 er lager zijn dan 'half' en dat je deze gebruikt om een nieuwe array aan te maken.
Mja, da's het nadeel van een array; de grootte staat van te voren vast - gelukkig zijn er wel oplossingen (linked list enzo) maja, het lijkt me ook dat de docent wil dat je 2x er doorheen gaat. Eenmaal op het aantal uit te vinden, dan array aanmaken en dan de array vullen.
pi_38302040
quote:
Op zondag 28 mei 2006 15:12 schreef Aaargh! het volgende:
Arrays zijn vies. Eigenlijk moet je docent een pak slaag omdat ie je met arrays bezig laat zijn, maar goed.

Als ik het goed begrijp moet je een 2e array opleveren waarin alleen de getallen staan uit array 1 die lager zijn dan de variabele 'half'. Begrijp ik het goed als ik hieruit opmaak dat de 2e array geen 'lege' posities mag bevatten en dat deze verder op dezelfde volgorde moet zijn als array 1 ?

Wat je docent denk ik wil is dat je eerst een lusje maakt die telt hoeveel items in array 1 er lager zijn dan 'half' en dat je deze gebruikt om een nieuwe array aan te maken.
Ja volgens mij begrijp je het goed. Wat jij zegt dat had ik idd geprobeerd maar dan krijg ik een fout. Ik zal wel mijn hele code laten zien:
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import element.*;
import java.util.Random;

public class Opdracht1
{
  public static void main(String[] args)
  {
    Random random = new Random();
    int a = 40;

    int[]myArray = new int[a];
    for(int i=0; i < a; i++)
     myArray[i]=0;

    for (int i=0; i < 500; i++)
    {
      int value = Math.abs(random.nextInt());
      value = value%a;
      
      myArray[value] = myArray[value]+1;
    }
   
    int half = half(myArray);
    System.out.println(half);

    int x=0;

    for (int i=0; i < 40; i++)
    {
      if (myArray[i]<half)
        {
          x=x+1;
        }
    }

    int[]myArray2 = new int[x];

    int k=0;

    for (int i=0; i < 40; i++)
    {
      if (myArray[i]<half)
        {
          myArray2[k]=myArray[i];
          k=k+1;
        }
    }

    int half2 = half(myArray2);
    System.out.println(half2);

  }

  public static int half(int myArray[])
   {
     int mx=0;
     int mn=500;

     for (int i=0; i < 40; i++)
     {
      if(myArray[i]>mx)
      mx = myArray[i];

      if(myArray[i]<mn)
      mn = myArray[i];
     }
     
     int half = (mx + mn)/2;
     
     return half;
   }
}


Het gekke is dat als ik dat stukje:
1
2
3
4
5
6
7
8
9
10
11
    int x=0;

    for (int i=0; i < 40; i++)
    {
      if (myArray[i]<half)
        {
          x=x+1;
        }
    }

    int[]myArray2 = new int[x];

eruit haal en gewoon:
1    int[]myArray2 = new int[40];

pak dat het dan gewoon wel werkt, maar dan heb ik dus een array die grotendeels leeg is en dat lijkt me ook niet de bedoeling. Zie ik dan een foutje in mijn code over het hoofd ofzo?
pi_38302104
Ow misschien nog handig om erbij te vermelden dat het geen compile error is maar "java.lang.ArrayIndexOutOfBoundsException: 29"
  zondag 28 mei 2006 @ 15:32:19 #241
2671 Aaargh!
Gebruik op eigen risico.
pi_38302412
Je fout zit in de methode 'half()'

Die doet de aanname dat de array die bekeken wordt 40 elementen heeft, maar myArray2 heeft meestal helemaal niet 40 elementen.

Als je even de stacktrace had bekeken had je gezien dat de fout in regel 61 zit.
It is impossible to live a pleasant life without living wisely and well and justly.
And it is impossible to live wisely and well and justly without living a pleasant life.
pi_38302521
1
2
3
4
5
6
7
8
 for (int i=0; i < 40; i++)
    {
      if (myArray[i]<half)
        {
          myArray2[k]=myArray[i];
          k=k+1;
        }
    }


In dat stuk ga je de 2e array vullen maar je gebruikt nog wel als grens 40 terwijl de array hoogstwaarschijnlijk kleiner is (daar dient dus niet 40 maar x te staan (die variable is namelijk de lengte van de array)).
pi_38302540
quote:
Op zondag 28 mei 2006 15:32 schreef Aaargh! het volgende:
Je fout zit in de methode 'half()'

Die doet de aanname dat de array die bekeken wordt 40 elementen heeft, maar myArray2 heeft meestal helemaal niet 40 elementen.

Als je even de stacktrace had bekeken had je gezien dat de fout in regel 61 zit.
Dat ook ja
  zondag 28 mei 2006 @ 15:40:41 #244
2671 Aaargh!
Gebruik op eigen risico.
pi_38302686
quote:
Op zondag 28 mei 2006 15:35 schreef fallrite het volgende:

[ code verwijderd ]

In dat stuk ga je de 2e array vullen maar je gebruikt nog wel als grens 40 terwijl de array hoogstwaarschijnlijk kleiner is (daar dient dus niet 40 maar x te staan (die variable is namelijk de lengte van de array)).
Nee, dat klopt wel. De eerste array is nog steeds 40 groot, voor de 2e array gebruikt ie de variabele 'k'. (ook niet netjes, hij had een meer omschrijvender variabele naam kunnen kiezen).
It is impossible to live a pleasant life without living wisely and well and justly.
And it is impossible to live wisely and well and justly without living a pleasant life.
pi_38303064
Ah supper bedankt! Heb die 40 vervangen door myArray.length en alles werkt idd perfect!
pi_38401894
Alweer een vraagje van mij :
Ik moet nu een kleine uitbreiding maken van mijn laatste code. Ik moet een vector maken van (wrapped) integers. Die vector moet gemaakt zijn van de elementen van de 2de array. Als laatste moet ik dan alle elementen van die vector printen.

Probleem is dat er niks is uitgelegd over integers en haast niks over vectors, kan het ook niet in het boek terugvinden. Weten jullie misschien een site waar een goede handleiding over dit staat dan?
  woensdag 31 mei 2006 @ 13:35:25 #247
25527 FallenAngel666
Think of the kittens!
pi_38407575
Ik neem aan dat je met "wrapped integers" instanties van de klasse java.lang.Integer bedoeld en dat je geen eigen wrapper klasse hebt geschreven?

De java.util.Vector klasse maakt deel uit van het java collections framework en kan je zien als een dynamische array. Een Vector kan je initialiseren met een bepaalde capaciteit (net als een array), maar die capaciteit staat, in tegenstelling tot die van een array, niet vast. Wanneer de initiële capaciteit bereikt is en er een nieuw object wordt toegevoegd, wordt de capaciteit van de Vector automatisch vergroot.

Kan je misschien wat meer informatie geven over de opdracht? Een Vector kent standaard alleen het type Object namelijk, dus als je echt puur een Vector moet gebruiken die alleen Integer objecten accepteerd, dan moet je met Generics gaan werken. Dit lijkt mij niet de bedoeling?

[ Bericht 3% gewijzigd door FallenAngel666 op 31-05-2006 14:13:34 ]
Signature:
Maximaal
4
regels
pi_38408084
gewoon de 2e array in een vector gooien met vector.fill() (volgens mij?).
  woensdag 31 mei 2006 @ 13:57:53 #249
25527 FallenAngel666
Think of the kittens!
pi_38408451
quote:
Op woensdag 31 mei 2006 13:50 schreef Scorpie het volgende:
gewoon de 2e array in een vector gooien met vector.fill() (volgens mij?).
Nope.
Je kan het het makkelijkst de java.util.Arrays klasse daarvoor gebruiken:

1
2
3
4
5
int[] foo = new int[5];

// Wat elementen toevoegen...

Vector bar = new Vector(Arrays.asList(foo));    


[ Bericht 1% gewijzigd door FallenAngel666 op 31-05-2006 14:47:38 ]
Signature:
Maximaal
4
regels
  vrijdag 2 juni 2006 @ 17:44:03 #250
17897 Cart_man
Love to be hated
pi_38481305
Word echt gestoord van dat java. Moet in Eclipse een programmaatje bouwen met werkend interface. Werkelijk geen idee wat de beste aanpak hiervoor is? Iemand starterstips?
A.M.A.B
pi_38481561
quote:
Op vrijdag 2 juni 2006 17:44 schreef Cart_man het volgende:
Word echt gestoord van dat java. Moet in Eclipse een programmaatje bouwen met werkend interface. Werkelijk geen idee wat de beste aanpak hiervoor is? Iemand starterstips?
Jigloo, knip en plak GUI http://www.cloudgarden.com/jigloo/
  donderdag 8 juni 2006 @ 08:39:34 #252
124802 joupee
dat spreek je uit als zjoepee
pi_38645968
Ik ben bezig met een beetje java, maar ik kom er niet uit.
Het is de bedoeling dat er een vierkant ronddraait en dat er dan op de hoekpunten kleinere vierkantjes ronddraaien. De code zit er tot nu toe als volgt uit:

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
39
40
41
42
43
44
45
46
47
48
49
50
51
import tekenapplet.*;

public class Class1 extends TekenApplet
{
   double hoek;
   
   public void initialiseer()
   {   maakAnimatieMogelijk();
      achtergrondkleur("blauw");
   }
   
   public void tekenprogramma()
   {   
      links(hoek);
      vierkant(100);
      links(hoek);
      vierkant(50);
      penUit();
      vooruit(75);
      rechts(90);
      vooruit(25);
      rechts(90);
      penAan();
      links(hoek);
      vierkant(50);
   }
   
   void vierkant(double z)
   {      penUit();
         vooruit(z/2);
         rechts(90);
         vooruit(z/2);         
         vulAan("oranje");
         rechts(90);
         vooruit(z);
         rechts(90);
         vooruit(z);
         rechts(90);
         vooruit(z);
         rechts(90);
         vooruit(z);
         vulUit();         
   }
   
   public void animatie()
   {   while(animatieLopend())
      {   hoek = hoek + .5;
         tekenOpnieuw();
      }
   }
}

Het probleem nu is dat de kleinere vierkantjes aan elkaar gekoppeld zitten en ik heb geen flauw idee hoe ik dit kan verhelpen...
pi_38666660
BIj mijn laatste opdracht stuit ik ook weer op een probleempje. Ik moet een gas pomp simulator maken met gebruik van meerdere classes 1 om te testen en 1 waar de methodes in staan. Ik zal laten zien wat ik al heb:

De testclass:
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
public class GasPumpTest
{
  public static void main(String args[])
  {
    GasPump Pomp1 = new GasPump(1.20, "reg");

    System.out.println("Informatie van POMP 1:");
    System.out.println("Bezig met vullen van de pomp 1:");
    Pomp1.refill();
    System.out.println("Inhoud pomp1: " +Pomp1.stock() +" liter.");
    System.out.println("");

    System.out.println("Pomp nu 80 liter uit pomp 1");
    Pomp1.pompen(80);
    System.out.println("");

    System.out.println("Er wordt een nieuwe pomp bijgebouwd:");
    GasPump Pomp2 = new GasPump(1.50, "sup");
    System.out.println("We vullen deze pomp:");
    Pomp2.refill();
    System.out.println("");
        
    System.out.println("Pomp nu 80 liter uit pomp 2.");
    Pomp2.pompen(80);
    System.out.println("");
    
    System.out.println("Pomp nu weer 80 liter uit pomp 1.");
    Pomp1.pompen(80);
    System.out.println("");
    
    System.out.println("We gaan nu uit pomp 1 10 keer 90 liter halen:");
    for(int i=1; i < 11; i++)
    {
    Pomp1.pompen(90);
    System.out.println("");
    }
    
    System.out.println("Uit pomp 2 halen we 5 keer 40 liter:");
    for(int i=1; i < 6; i++)
    {
    Pomp2.pompen(40);
    System.out.println("");
    }
    
    System.out.println("De inhoud is nu:");
    System.out.println("Inhoud pomp1: " +Pomp1.stock() +" liter.");
    System.out.println("Inhoud pomp2: " +Pomp2.stock() +" liter.");
    System.out.println("");

    System.out.println("De tankwagen komt langs en vult de pompen weer bij:");
    Pomp1.refill();
    Pomp2.refill();
  }
}


De method class:
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
39
40
41
42
43
44
45
46
47
48
49
public class GasPump
{
  private int stock;
  private double price;
  private String kind;

  public GasPump(double price1, String type)
  //pre: double met de prijs die niet leeg mag zijn
  //post: nieuwe pomp opgestart.
  {
  price = price1;
  stock = 0;
  kind = type;
  }

  public void refill()
  //post: regstock en supstock bijgesteld.
  {
  stock = 1000;

  System.out.println("Pomp gevuld, nieuwe voorraad: " +stock() +" liter " +kind +".");
  }

  public void pompen(int liters)
  //pre: int met aantal te pompen liter, not NULL en een string reg of sup.
  //post: nieuwe waarde voor regstock of supstock en een output.
  {
      if (liters > stock())
      {
        System.out.println("Niet genoeg benzine op voorraad, de resterende "+ stock() +" liter worden bijgepompt:");
        System.out.println("Totaal bedrag: " +(stock() * price) +" euro.");
        stock = 0;
        System.out.println("Nieuwe voorraad: " +stock() +" liter " +(kind) +" in de pomp.");
      }
      else
      {
        System.out.println("Er worden "+ liters +" liters regular gepompt:");
        stock = stock() - liters;
        System.out.println("Totaal bedrag: " +(liters * price) +" euro.");
        System.out.println("Nieuwe voorraad: " +stock() +" liter " +(kind) +" in de pomp.");
      }
  }

  public int stock()
  //post: int met waarde van stock
  {
      return stock;
  }
}


De simulator moet dus paar dingen kunnen, refillen pompen en aangeven hoeveel er is. Nou moet er nog 1 ding extra bij en daar kom ik niet uit. Ik moet namelijk 2 pompen met elkaar vergelijken en dan moet ik bekijken of ze het zelfde zijn, 2 pompen worden gezien als hetzelfde als de prijs en de soort gas hetzelfde zijn.

Maar hoe kan ik de waardes van 2 pompen tegelijk in de methode tot me beschikking hebben en die met elkaar vergelijken? Het lijkt me op zich heel simpel maar ik kom er niet uit.
  donderdag 8 juni 2006 @ 22:31:53 #254
25527 FallenAngel666
Think of the kittens!
pi_38674584
quote:
Op donderdag 8 juni 2006 19:16 schreef KneiterS het volgende:

...
Je kan gewoon de equals() methode van java.lang.Object kunnen overriden voor GasPump.
Uit de losse pols:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public boolean equals(Object obj){
     
     if(this == obj){
        return true;
     }
     
     if (obj instanceof GasPump){ 
        GasPump pump = (GasPump) obj;
        boolean stockIsEqual = stock == pump.getStock(); 
        boolean kindIsEqual = kind.equals(pump.getKind());
        if(stockIsEqual && kindIsEqual){
           return true;
        }
     }
     return false;
  }


Moet je nog wel even je methode stock() hernoemen naar getStock() en een methode getKind() implementeren. Waarom roep je binnen jouw klasse trouwens de methode stock() aan i.p.v. direct de member variabele te gebruiken? Probeer ook het door elkaar gebruiken van Nederlandstalige en Engelstalige naamgeving te vermijden.
Signature:
Maximaal
4
regels
  donderdag 8 juni 2006 @ 22:58:50 #255
25527 FallenAngel666
Think of the kittens!
pi_38675861
quote:
Op donderdag 8 juni 2006 08:39 schreef joupee het volgende:
Ik ben bezig met een beetje java, maar ik kom er niet uit.
Het is de bedoeling dat er een vierkant ronddraait en dat er dan op de hoekpunten kleinere vierkantjes ronddraaien. De code zit er tot nu toe als volgt uit:
[ code verwijderd ]

Het probleem nu is dat de kleinere vierkantjes aan elkaar gekoppeld zitten en ik heb geen flauw idee hoe ik dit kan verhelpen...
Wat bedoel je met "aan elkaar gekoppeld"?
De code die je post is trouwens niet erg behulpzaam bij het illustreren van je probleem.
Signature:
Maximaal
4
regels
pi_38676584
quote:
Op donderdag 8 juni 2006 22:31 schreef FallenAngel666 het volgende:

[..]

Je kan gewoon de equals() methode van java.lang.Object kunnen overriden voor GasPump.
Uit de losse pols:
[ code verwijderd ]

Moet je nog wel even je methode stock() hernoemen naar getStock() en een methode getKind() implementeren. Waarom roep je binnen jouw klasse trouwens de methode stock() aan i.p.v. direct de member variabele te gebruiken? Probeer ook het door elkaar gebruiken van Nederlandstalige en Engelstalige naamgeving te vermijden.
Tnx het is me gelukt! Ja ik vond dat cooler om een methode te gebruiken ipv de variabele, het slaat idd nergens op en ik zal op je tip letten als ik ooit nog eens moet java'en. Heb het er voorlopig wel mee gehad nu .
  woensdag 14 juni 2006 @ 20:38:40 #257
51748 H4ze
wait...what?
pi_38861152
Oke, er is iets wat niet helemaal wil lukken.

1
2
3
4
5
6
7
      for(int i=1;i<=4;i++)
      {
         JButton but+i = new JButton(">");
         panel.add(but);
         but.setBounds(10,h,45,35);
         h+=40;
      }


Het bovenstaande werkt niet, maar het dient ff om duidelijk te maken wat ik wil. Er moeten 4 buts aangemaakt worden (but1, but2, but3, but4). Nu kan ik die gewoon steeds los definieren, maar das een kutwerk (aangezien er in deze vorm nog tig andere reference variables moeten worden aangemaakt). Vandaar dat ik 't mbv een loop wil.

Ik begrijp waarom dit niet werkt, logisch, 2 verschillende datatypes met elkaar samenvoegen werkt natuurlijk niet. Het omzetten van but naar een string en i naar een string, om ze vervolgens samen te voegen werkt ook niet (but is natuurlijk al defined als String, dus kan niet ineens een object worden etc).

Maar ik neem aan dat zoiets toch moet kunnen? Als iemand tips heeft...

BVD
*BURP*
pi_38861737
Ehm, ja.. but+i is een taalconstructie die ik zo niet ken hoor Maar je zou een array van Buttons kunnen maken en dan met array[i] de Buttons aanmaken

Edit: JButtons in jouw geval
  woensdag 14 juni 2006 @ 21:01:37 #259
25527 FallenAngel666
Think of the kittens!
pi_38862241
Dat gaat zo niet lukken.
Je kan ze binnen een loop wel een array van JButtons aanmaken, of ze binnen een loop gelijk aan de het Container object toevoegen. Dus zo:

1
2
3
4
JButton[] buttons = new JButton[4];
for(int i=0; i<buttons.length;i++){
  buttons[i] = new JButton(">");
}


Of zo:

1
2
3
for(int i=0; i<4;i++){
  someContainer.add(new JButton(">"));
}


Bij die laatste kan je dan getComponent(int index) gebruiken van java.awt.Container om een bepaalde JButton instantie te benaderen.

[ Bericht 1% gewijzigd door FallenAngel666 op 15-06-2006 09:17:24 ]
Signature:
Maximaal
4
regels
  woensdag 14 juni 2006 @ 22:55:57 #260
51748 H4ze
wait...what?
pi_38867194
quote:
Op woensdag 14 juni 2006 20:51 schreef fallrite het volgende:
Ehm, ja.. but+i is een taalconstructie die ik zo niet ken hoor
Hehe ja, maar 't was dus meer ff om te illustreren wat ik wilde

Maar thnx voor de (snelle) reacties jongens! Kga er ff mee aan de slag.
*BURP*
  woensdag 14 juni 2006 @ 22:57:39 #261
67951 VeerMans
Nee! Echt?
pi_38867291
ptv
  vrijdag 14 juli 2006 @ 01:52:45 #262
51748 H4ze
wait...what?
pi_39809464
edit: never mind...

[ Bericht 50% gewijzigd door H4ze op 14-07-2006 02:50:40 ]
*BURP*
pi_40799617
Vraagje, ik heb een project in Jbuilder gemaakt. Nu wil ik er een .jar file van maken zodat ik hem met een html file kan runnen. Kan iemand me vertellen hoe dat werkt, ik kom er niet uit
Alvast bedankt!
  maandag 14 augustus 2006 @ 17:28:41 #264
25527 FallenAngel666
Think of the kittens!
pi_40800188
In JBuilder zit vast wel een export functie, waarmee je een executable JAR archive kan creëren van je project.
Eventueel doe je het handmatig met de JAR tool (jar.exe) die bij de JDK is meegeleverd (in de bin directory). Enige wat je dan nog moet doen is de JAR file signeren met de tool die daarvoor bij de JDK wordt meegeleverd (keytool.exe in bin directory). Nu heb je een JAR file die je met webstart kan runnen. Om dit te bereiken moet je nog wel een deployment descriptor (JNLP) file creëren die de applicatie en resources beschrijft, zodat Webstart er iets mee kan doen. Dit is het bestand waarnaar je op een webpagina verwijst en vanaf daar pikt Webstart het dan automatisch op (mits geïnstalleerd op de client pc).

Google maar eens naar "Webstart tutorial" / "Webstart walkthrough", dan vind je genoeg informatie over hoe het precies werkt, welke stappen je moet doorlopen en hoe.
Signature:
Maximaal
4
regels
  maandag 14 augustus 2006 @ 18:19:22 #265
51748 H4ze
wait...what?
pi_40801665
quote:
Op maandag 14 augustus 2006 17:10 schreef rvisser78 het volgende:
Vraagje, ik heb een project in Jbuilder gemaakt. Nu wil ik er een .jar file van maken zodat ik hem met een html file kan runnen. Kan iemand me vertellen hoe dat werkt, ik kom er niet uit
Alvast bedankt!
Kijk anders ook ff hier en hier. De html file moet je vervolgens ook gewoon in de JAR file stoppen.
*BURP*
pi_40815627
vergeef me als dit hier niet hoort maar om er nu een heel topic voor te openen

een tijdje geleden had iemand een vraag over een soort van lettertype die je kon includen in je pagina
zodat de tekst voor iedereen hetzelfde was
dit gebeurde d8t ik doormiddel van een javascript file ( kan me vergissen )
ik kan dit topic echter niet weer terug vinden
heeft iemand een idee

het is dus een soort font maar dan serverside
  dinsdag 15 augustus 2006 @ 12:33:55 #267
25527 FallenAngel666
Think of the kittens!
pi_40825887
Dat heet Scalable Inman Flash Replacement (sIFR), waarbij een combinatie van javascript en flash gebruikt wordt om bepaalde elementen van een pagina te vervangen door flash movies die tekst bevatten in een gekozen font, zodat de client zelf niet over dat font hoeft te beschikken. De inhoud van HTML pagina blijft daarbij gehandhaaft, zodat die volledig toegankelijk en leesbaar blijft voor mensen die niet over flash beschikken, maar ook voor bijvoorbeeld screen readers e.d.

Voor de goede orde dit gebeurd dus client side. sIFR is absoluut geen server side techniek.
Signature:
Maximaal
4
regels
pi_40859962
JavaScript, slecht lezen, stom, foutje...



[ Bericht 91% gewijzigd door HuHu op 16-08-2006 10:59:29 ]
  zondag 1 oktober 2006 @ 15:55:10 #269
108558 Messenga
goeiendag wat een geheel!
pi_42282020
Zo, hier is de ubern00b van FOK! wat betreft Java weer.

Ik moet een applet maken die er zo uit ziet :



Zoals je ziet zijn de labels aan de rechterkant nog wel zichbaar, maar als je het runt zijn ze niet zichtbaar. Nu moet ik een applet maken waarbij een leerling het aantal 3'en 4'en, 5'en en het totaal aantal punten moet invullen. Als dat gebeurt is krijgt de leerling 1 van de 3 labels te zien.

Nou heeft de applet de volgende voorwaarden :

Rapportcijfer zijn geele getallen van 3 tot 10
Cijfers 1 en 2 doen niet mee
Leerling met
-meer dan 1 3
- 3 of meer vieren
- 2 vieren en meer dan 1 vijf
- 2 vijfen en minimaal 1 vier
- 3 vijfen
- met 2 vieren of 1 vier met in totaal 42 punten wordt besproken, bij minder dan 42 punten.
blijft zitten

Alle overige gevallen gaat de leerling over.

Hoe zorg ik ervoor dat al deze punten goed verwerkt worden in een applet? Ik begrijp dat het door middel van een if statement moet, maar veel verder kom ik niet.
pi_42285775
quote:
Op zondag 1 oktober 2006 15:55 schreef Messenga het volgende:
Zo, hier is de ubern00b van FOK! wat betreft Java weer. :')

Ik moet een applet maken die er zo uit ziet :

[afbeelding]

Zoals je ziet zijn de labels aan de rechterkant nog wel zichbaar, maar als je het runt zijn ze niet zichtbaar. Nu moet ik een applet maken waarbij een leerling het aantal 3'en 4'en, 5'en en het totaal aantal punten moet invullen. Als dat gebeurt is krijgt de leerling 1 van de 3 labels te zien.

Nou heeft de applet de volgende voorwaarden :

Rapportcijfer zijn geele getallen van 3 tot 10
Cijfers 1 en 2 doen niet mee
Leerling met
-meer dan 1 3
- 3 of meer vieren
- 2 vieren en meer dan 1 vijf
- 2 vijfen en minimaal 1 vier
- 3 vijfen
- met 2 vieren of 1 vier met in totaal 42 punten wordt besproken, bij minder dan 42 punten.
blijft zitten

Alle overige gevallen gaat de leerling over.

Hoe zorg ik ervoor dat al deze punten goed verwerkt worden in een applet? Ik begrijp dat het door middel van een if statement moet, maar veel verder kom ik niet.
Ik zou er iets als de volgende methode voor gebruiken:
1
2
3
4
5
6
7
public int beoordeling( int drieen, int vieren, int vijven, int totaal ) {
   if ( drieen > 1 | vieren >= 3 | (vieren==2 & vijven > 1) | (vieren >= 1 & vijven==2) | vijven==3 )
      return BLIJVEN_ZITTEN;
   if ( vieren >= 1 & totaal < 42 ) return BLIJVEN_ZITTEN;
   if ( vieren >= 1 & totaal >= 42 ) return BESPREKEN;
   return GAAT_OVER;
}

De constanten BLIJVEN_ZITTEN, BESPREKEN en GAAT_OVER moeten al gedefinieerd zijn in je class. De eerste twee if statements kun je ook nog bij elkaar stoppen omdat ze dezelfde waarde retourneren, maar dat komt de leesbaarheid niet ten goede.

Klopt die laatste regel voor het bespreken enzo wel? Iets als "2 vijven of 1 vier ..." lijkt logischer, maar goed, het gaat natuurlijk om het idee hoe je dit zou kunnen implementeren.
  zondag 1 oktober 2006 @ 18:32:09 #271
108558 Messenga
goeiendag wat een geheel!
pi_42286413
Laatste regel moet inderdaad 2 vijven of 1 vier zijn.

En hoe defineer je ook alweer?
pi_42286930
quote:
Op zondag 1 oktober 2006 18:32 schreef Messenga het volgende:
Laatste regel moet inderdaad 2 vijven of 1 vier zijn.

En hoe defineer je ook alweer? :@ :')
Nou ja, definieeren is niet het juiste woord, maar ik had in gedachte dat je nog ergens

1
2
3
final int BLIJVEN_ZITTEN = 0;
final int BESPREKEN = 1;
final int GAAT_OVER = 2;

moet zetten.
  zondag 1 oktober 2006 @ 19:36:46 #273
108558 Messenga
goeiendag wat een geheel!
pi_42288343
Ik heb nu :

if (drieen > 1 | vieren >= 3 | (vieren==2 & vijven > 1) | (vieren >= 1 & vijven==2) | vijven==3 ) {
return BLIJVEN_ZITTEN;
}

if ( vieren >= 1 & totaal < 42 ) {
return BLIJVEN_ZITTEN;
}
if ( vieren >= 1 & totaal >= 42 ) {
return BESPREKEN;
}
return GAAT_OVER;

Ik werk namelijk met Visual Café.

Nu moet ik alle drieen, vieren, vijven en het totaal nog defineren.. hoe?
pi_42303357
quote:
Op zondag 1 oktober 2006 19:36 schreef Messenga het volgende:
Ik heb nu :

if (drieen > 1 | vieren >= 3 | (vieren==2 & vijven > 1) | (vieren >= 1 & vijven==2) | vijven==3 ) {
return BLIJVEN_ZITTEN;
}

if ( vieren >= 1 & totaal < 42 ) {
return BLIJVEN_ZITTEN;
}
if ( vieren >= 1 & totaal >= 42 ) {
return BESPREKEN;
}
return GAAT_OVER;

Ik werk namelijk met Visual Café.

Nu moet ik alle drieen, vieren, vijven en het totaal nog defineren.. hoe?
ligt eraan. Mogen de drieeen, vieren etc veranderen tijdens het runnen van de applicatie? Dan denk ik dat je:

private int vieren;
private int drieeen;

etc moet doen in je class.
  donderdag 5 oktober 2006 @ 19:49:52 #275
51748 H4ze
wait...what?
pi_42399605
Ik ben de laatste tijd een beetje bezig met OOP. Er is nu iets dat niet lukt...

Ik heb een class GUI. Als ik nu op 1 vd knoppen klik, wordt er vanuit deze class roep ik een object in een andere class op. In dit object wil ik de tekst in een textfield in GUI veranderen. Dit laatste lukt dus maar niet. Ik heb even met wat testprintjes gecheckt, en ik kom wel in dat object terecht. Overigens extends de class waarin het object staat de GUI.class en heb ik voor het gemak de boel public gemaakt, dus hier ligt het niet aan lijkt me? (anders had ik ook al wel compile errors gekregen dat ie stuff niet kon vinden).

Ik hoop dat 't een beetje duidelijk is en ik vraag me af waar dit aan zou kunnen liggen. Ik kan er evt nog wat codesnips bij doen. Verder heb ik 't principe van OOP nog niet helemaal door en zo, dus misschien doe ik iets ontzettends stoms :p

BVD!
*BURP*
pi_42399926
Ja, zonder code valt er niet zo heel veel te zeggen natuurlijk.
  zondag 8 oktober 2006 @ 14:18:10 #278
108558 Messenga
goeiendag wat een geheel!
pi_42478609
Ik meld me weer eens.



Die applet. Nou heb ik de voeg toe en sorteer op naam Button al gemaakt.

code voor de voeg toe button :

1
2
3
4
5
6
7
8
9
// to do: code goes here.
      String naamcijfer;
      LeerlingRij[teller].naam= NaamVeld.getText();
      LeerlingRij[teller].cijfer=  Integer.parseInt( Cijferveld.getText());
      naamcijfer = LeerlingRij[teller].naam + " - "  + LeerlingRij[teller].cijfer;
      Naamlijst.add(naamcijfer);
      NaamVeld.setText("");
      Cijferveld.setText("");
      teller++;


Code voor de sorteer op naam
1
2
3
4
5
6
7
8
9
10
int lengte =Naamlijst.getItemCount(); // pakt de lengte
   for ( int aantal = lengte; aantal >1; aantal--)// Als aantal gelijk is aan lengte 
   for (int index =0; index < aantal-1; index++)//gaat ie verder, index moet kleiner zijn dan aantal-1
      {
          String dit_element = Naamlijst.getItem(index);//pakt het element
          if(dit_element.compareTo(Naamlijst.getItem(index+1)) > 0)//vergelijkt 2 elementen uit de lijst
          {
              Naamlijst.remove(index);// verwijderd het tijdelijk
              Naamlijst.add(dit_element, index+1);// voegt het op de juiste plaats toe
              NaamVeld.requestFocus();


Maar hoe doe ik dit met een sorteer op cijfer button?
pi_42478779
Messenga, ik heb wel een tip

Java kent classes speciaal voor verzamelingen inclusief bijbehorende sorteermethoden...

Hashtables e.d. Dat scheelt je een hoop werk.

http://java.sun.com/j2se/(...)ctions/overview.html

[ Bericht 3% gewijzigd door #ANONIEM op 08-10-2006 14:26:08 ]
  zondag 8 oktober 2006 @ 14:27:05 #280
108558 Messenga
goeiendag wat een geheel!
pi_42478835
Ik vind het heel fijn dat je me tipt, maar daar snap ik dus niets van hé.
pi_42478990
Het is echt heel simpel, een voorbeeldje :

1
2
3
4
5
6
7
8
9
import java.util.*;

public class Sort {
    public static void main(String[] args) {
        List<String> list = Arrays.asList(args);
        Collections.sort(list);
        System.out.println(list);
    }
}
quote:
Let's run the program.

% java Sort i walk the line

The following output is produced.

[i, line, the, walk]
pi_42524012
quote:
Op zondag 8 oktober 2006 14:18 schreef Messenga het volgende:
Ik meld me weer eens.

[afbeelding]

Die applet. Nou heb ik de voeg toe en sorteer op naam Button al gemaakt.

code voor de voeg toe button :
[ code verwijderd ]

Code voor de sorteer op naam
[ code verwijderd ]

Maar hoe doe ik dit met een sorteer op cijfer button?
Je moet eens kijken naar de Comparator interface in java.utils. Daarmee kun je vast leggen hoe objecten geordend zijn. Vervolgens kun je dan de sort methode in Collections of Arrays gebruiken.
  maandag 9 oktober 2006 @ 21:00:48 #283
108558 Messenga
goeiendag wat een geheel!
pi_42524105
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
void SorteerButton_ActionPerformed(java.awt.event.ActionEvent event)
   {
       sortCijfers(LeerlingRij);

      // to do: code goes here.
   }
   
   public void sortCijfers (Leerling[ ] array) {
    int i, j;
    String s;
    Leerling temp;
    for ( i = 1; i < array.length; i++ )
        for ( j = 0; j < array.length-i; j++ )
            if ( array[j].cijfer > array[j+1].cijfer ) 
            {
                temp = array[j];
                array[j] = array[j+1];
                array[j+1] = temp;
            } // if
    Naamlijst.clear();
    
    for (i = 0; i < array.length; i++)
    {
        if (array[i].naam != null)
        {
            s = array[i].naam + " - " + array[i].cijfer;
           Naamlijst.add(s);
       }
    }
    } //zie commentaar van de namen van de actionpeformed hierboven, alleen de variabele namen 
    //zijn gewijzigd.
    
    
}


Zo?
  zaterdag 14 oktober 2006 @ 14:17:58 #284
108558 Messenga
goeiendag wat een geheel!
pi_42670183
En weer eens een nieuwe.

Ik heb een applet, daarin staat een list die door middel van een knop 10 random getallen van 1 tot 100 genereerd. Nou moet ik door middel van een knop "gemiddelde" het gemiddelde uit laten rekenen en vervolgens in een label laten zien. hoe doe ik dit?
pi_42670498
Nou, hoe reken je een gemiddelde uit ? Mag toch hopen dat je je basisschool hebt afgemaakt
pi_42670601
Nu php me wat tegensteekt zou ik me graag eens in java storten maar na wat rondgesurft te hebben weet ik nog altijd niet goed welke programma's ik nodig heb om java te schrijven en uit te voeren.
Wil iemand me dit even uitleggen want als ik ergens uitleg vindt is het redelijk onbegrijpelijk :s.
  zaterdag 14 oktober 2006 @ 14:39:30 #287
108558 Messenga
goeiendag wat een geheel!
pi_42670639
Alle getallen delen door 10

Maar hoe zet je zoiets om in code?
pi_42670717
quote:
Op zaterdag 14 oktober 2006 14:37 schreef fate het volgende:
Nu php me wat tegensteekt zou ik me graag eens in java storten maar na wat rondgesurft te hebben weet ik nog altijd niet goed welke programma's ik nodig heb om java te schrijven en uit te voeren.
Wil iemand me dit even uitleggen want als ik ergens uitleg vindt is het redelijk onbegrijpelijk :s.
Vrij weinig hoor, je hebt iig de Java Development Kit nodig, te vinden op http://java.sun.com/javase/downloads/index.jsp . Daarnaast een texteditor om je code in te schrijven. Kladblok voldoet als je echt hardcore bent Zelf gebruik ik Eclipse ( http://www.eclipse.org ) als editor, die heeft syntax higlighting en andere tools om e.e.a. wat minder tijdrovend te maken. Tutorials zijn ook overal te vinden.
pi_42670743
quote:
Op zaterdag 14 oktober 2006 14:39 schreef Messenga het volgende:
Alle getallen delen door 10

Maar hoe zet je zoiets om in code?
Je telt alle listitems bijelkaar op en deelt het totaal door 10 ?
  zaterdag 14 oktober 2006 @ 14:46:27 #290
108558 Messenga
goeiendag wat een geheel!
pi_42670781
quote:
Op zaterdag 14 oktober 2006 14:44 schreef gelly het volgende:

[..]

Je telt alle listitems bijelkaar op en deelt het totaal door 10 ?
Zover was ik al .

Ik moet gewoon een begin hebben, van :"Hier begin je mee, op die manier selecteer je alle getallen." Dan is het niet zo moeilijk meer.

Dan denk ik dus aan zoiets :

CijferLijst.getItemCount();
int som = cijfers / 10;
GemLabel.setText(String.valueOf(som));

Maar dan klopt het 2e regeltje niet.
pi_42670846
quote:
Op zaterdag 14 oktober 2006 14:46 schreef Messenga het volgende:

[..]

Zover was ik al .

Ik moet gewoon een begin hebben, van :"Hier begin je mee, op die manier selecteer je alle getallen." Dan is het niet zo moeilijk meer.
Je doorloopt met een for-lus alle items, telt ze bijelkaar op en deelt ze door 10. Wat wil je nu precies weten ... Probeer zelf eens wat, waarschijnlijk leer je daar meer van. Lukt het niet, post dan de code die je al hebt hier. Ik ga je huiswerk niet zitten maken
  zaterdag 14 oktober 2006 @ 14:53:26 #292
108558 Messenga
goeiendag wat een geheel!
pi_42670911
quote:
Op zaterdag 14 oktober 2006 14:49 schreef gelly het volgende:

[..]

Je doorloopt met een for-lus alle items, telt ze bijelkaar op en deelt ze door 10. Wat wil je nu precies weten ... Probeer zelf eens wat, waarschijnlijk leer je daar meer van. Lukt het niet, post dan de code die je al hebt hier. Ik ga je huiswerk niet zitten maken
Je was net voor mn edit

CijferLijst.getItemCount();
int som = cijfers / 10;
GemLabel.setText(String.valueOf(som));

Dat had ik bedacht .
pi_42670922
quote:
Op zaterdag 14 oktober 2006 14:43 schreef gelly het volgende:
[..]
Vrij weinig hoor, je hebt iig de Java Development Kit nodig, te vinden op http://java.sun.com/javase/downloads/index.jsp . Daarnaast een texteditor om je code in te schrijven. Kladblok voldoet als je echt hardcore bent Zelf gebruik ik Eclipse ( http://www.eclipse.org ) als editor, die heeft syntax higlighting en andere tools om e.e.a. wat minder tijdrovend te maken. Tutorials zijn ook overal te vinden.
Welke versie moet ik van die Java Development Kit downloaden? Er staan er zoveel
En als texteditor gebruik ik wel dreamweaver zoals ik altijd doe .
pi_42670945
In pseudo code :

For x = 0 tot 9 { totaal = totaal + listitem[x] }

gem = totaal /10 <-- gem moet double zijn, geen int.

label = gem.toString
pi_42671004
quote:
Op zaterdag 14 oktober 2006 14:53 schreef fate het volgende:

[..]

Welke versie moet ik van die Java Development Kit downloaden? Er staan er zoveel
JDK 5.0 update 9
  zaterdag 14 oktober 2006 @ 15:00:09 #296
108558 Messenga
goeiendag wat een geheel!
pi_42671025
quote:
Op zaterdag 14 oktober 2006 14:55 schreef gelly het volgende:
In pseudo code :

For x = 0 tot 9 { totaal = totaal + listitem[x] }

gem = totaal /10 <-- gem moet double zijn, geen int.

label = gem.toString
zoiets zegt me dus echt niets
pi_42671086
quote:
Op zaterdag 14 oktober 2006 15:00 schreef Messenga het volgende:

[..]

zoiets zegt me dus echt niets


Het is geen letterlijke java code, ik geef alleen aan hoe je het zou moeten programmeren.
pi_42671256
vooruit :

1
2
3
4
5
6
7
8
9
10
11
public double gemiddelde(int [] getallen)

   {
      int som=0;
      
      for (int x=0; x < 10; x++){
         som = som + getallen[x];
      }
      
      return (som / 10);
   }
  zaterdag 14 oktober 2006 @ 15:21:27 #299
108558 Messenga
goeiendag wat een geheel!
pi_42671453
Ja, was het maar zo, dat werkt nooit in Visual Cafe.

Ik heb de code inmiddels zo omgedraaid dat ie er zo uitziet :

1
2
3
4
5
6
7
CijferLijst.getItemCount();
    
      int som=0;
      
      for (int x=0; x < 10; x++){
         som = som + cijfers[x];
   GemLabel.setText(String.valueOf(cijfers[x]));


Nu doet ie het wel, alleen hij neemt in plaats van het gemiddelde gewoon het maximum
pi_42671920
Mij lijkt het sterk dat dat werkt
  zaterdag 14 oktober 2006 @ 15:44:52 #301
108558 Messenga
goeiendag wat een geheel!
pi_42671951
Het doet het toch echt. Cijfers staat al eerder gedeclareerd, helemaal in de bovenste class.

public class Applet1 extends Applet
{ private int AANTAL = 10;
private int[]cijfers = new int [AANTAL];
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')