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");
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')