Toon posts:

JAVA applet

Pagina: 1
Acties:

Verwijderd

Topicstarter
Weet iemand hoe je van een Applet waardes uitleest en
de doorgeeft aan een andere class.
Dit zonder er een aparte class voor aan te maken.

ik zat zelf te denken aan:
Werknr = new Werknemer(Integer.parseInt(tfWerknr.getText()));

en dan Werknr in de constructor zetten van de class Werknemer als int. Maar dit werkt niet kwam ik achter!!

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
public int bla() {
return eenintvariabelediejewilweten;
}

Zoiets?

Verwijderd

Topicstarter
Zo'n soort regeltje heb ik:
De regels die ik nu heb:

Applet:

//voor de Werknr zijn dan al een invoer en een Label aangemaakt
....
Werknr = new Werknemer(Integer.parseint(tfWerknr.getText()));
....

Werknemer:
public Werknemer(Datum zooi, Datum zooi2, int Werknr)
......
int afdeling = Werknr/1000
......

Volgens mij zit het in de regel van de Applet, maar ik weet alleen niet welke ik daar voor hebben moet, of verkeerd doe.

  • Scorpion
  • Registratie: April 2000
  • Laatst online: 18-01-2024

Scorpion

not to lame to read BitchX.doc

het zit em in de static shit.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class myPoo { 

  public static int getMyPoo() {
    return 666;
  }

}

public class myApp {

  myApp() {
    int blah = myPoo.getMyPoo();
  }

  public static void main(String args[]) {
    new myApp();
  }

}

zoiets dus :)

of heb je je vraag nou zo verrot gesteld dat ik het niet begrijp? :)

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Iig moet je nog 2x een datum meegeven in de constructor van werknemer.

Maar misschien is 't handig eens bij java.sun.com te kijken naar wat tutorials?

Verwijderd

Topicstarter
Misschien hebben jullie hier iets aan

//Applet
package vakantie_dagen;

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

public class vrijedagen extends Applet implements ActionListener
{
private Datum PeilDatum;
private Datum WerkDatum;
private Datum GeboorteDatum;
private int Werknr;

private Label lbWerknr;
private Label lbGeboorteDatum;
private Label lbWerkDatum;
private Label lbPeilDatum;
private Label lbLeeftijd;
private Label lbDienstJaren;
private Label lbVrijeDagen;
private Label lbDienstDagen;
private Label lbVijftigDagen;
private Label lbVijfenvijftig;

private TextField tfPeilDatum;
private TextField tfWerkDatum;
private TextField tfGeboorteDatum;
public TextField tfWerknr;
private TextField tfDienstDagen;
private TextField tfDienstJaren;
private TextField tfVrijeDagen;
private TextField tfVijftigDagen;
private TextField tfVijfenvijftig;
private TextField tfLeeftijd;

private Button butBereken;
private Werknemer eenWerknemer;
private int vdagen;
private int ddagen;

public void init()
{
lbPeilDatum = new Label("Peildatum:");
add(lbPeilDatum);
tfPeilDatum = new TextField(8);
add(tfPeilDatum);

lbWerkDatum = new Label("Werkdatum:");
add(lbWerkDatum);
tfWerkDatum = new TextField(8);
add(tfWerkDatum);

lbGeboorteDatum = new Label("Geboortedatum:");
add(lbGeboorteDatum);
tfGeboorteDatum = new TextField(8);
add(tfGeboorteDatum);

lbWerknr = new Label("Werknemers nummer:");
add(lbWerknr);
tfWerknr = new TextField(4);
add(tfWerknr);

lbLeeftijd = new Label("Leeftijd:");
add(lbLeeftijd);
tfLeeftijd= new TextField(2);
tfLeeftijd.setEditable(false);
add(tfLeeftijd);

lbDienstJaren = new Label("Dienstjaren:");
add(lbDienstJaren);
tfDienstJaren = new TextField(2);
tfDienstJaren.setEditable(false);
add(tfDienstJaren);

lbDienstDagen = new Label("Dienstdagen:");
add(lbDienstDagen);
tfDienstDagen = new TextField(2);
tfDienstDagen.setEditable(false);
add(tfDienstDagen);

lbVrijeDagen = new Label("Vrijedagen:");
add(lbVrijeDagen);
tfVrijeDagen = new TextField(2);
tfVrijeDagen.setEditable(false);
add(tfVrijeDagen);

lbVijftigDagen = new Label("Vijftig+ dagen:");
add(lbVijftigDagen);
tfVijftigDagen = new TextField(2);
tfVijftigDagen.setEditable(false);
add(tfVijftigDagen);

lbVijfenvijftig = new Label("Vijfenvijftig+ dagen:");
add(lbVijfenvijftig);
tfVijfenvijftig = new TextField(2);
tfVijfenvijftig.setEditable(false);
add(tfVijfenvijftig);

butBereken = new Button("Bereken");
butBereken.addActionListener(this);
add(butBereken);
}
public void actionPerformed(ActionEvent e)
{
if (PeilDatum==null)
{
PeilDatum = new Datum(Integer.parseInt(tfPeilDatum.getText()));
tfPeilDatum.setEditable(false);
}
WerkDatum = new Datum(Integer.parseInt(tfWerkDatum.getText()));
GeboorteDatum = new Datum(Integer.parseInt(tfGeboorteDatum.getText()));
// Werknr = new Werknemer(Integer.parseInt(tfWerknr.getText()));


eenWerknemer = new Werknemer(GeboorteDatum,WerkDatum,Werknr);
tfLeeftijd.setText(Integer.toString(eenWerknemer.berekenLeeftijd(PeilDatum)));
tfVrijeDagen.setText(Integer.toString(eenWerknemer.berekenWerknr()));
tfDienstJaren.setText(Integer.toString(eenWerknemer.berekenDienstJaren(PeilDatum)));
tfDienstDagen.setText(Integer.toString(eenWerknemer.berekenDienstDagen()));
tfVijftigDagen.setText(Integer.toString(eenWerknemer.berekenVijftigDagen()));
tfVijfenvijftig.setText(Integer.toString(eenWerknemer.berekenVijfenvijftigDagen()));
}
}

//Class Datum:
package vakantie_dagen;

/**
* Title:Vakantie Dagen
* Description:Berekent de tijd
* Copyright: Copyright (c) 2001
* @author Erik Weinans
* Groep: TI1B
* @version 1.0
*/

public class Datum
{
private int dag;
private int maand;
private int jaar;

public Datum(int ddmmjjjj)
{
dag = ddmmjjjj/1000000;
maand = ddmmjjjj/10000 %100;
jaar = ddmmjjjj%10000;
}
public int jarenVerschil (Datum later)
{
int jaren = later.jaar - jaar;
if (later.maand<maand)
jaren--;
else
if (later.maand==maand && later.dag<dag)
jaren--;
return jaren;
}}
//Werknemer:
package vakantie_dagen;

/**
* Title:
* Description:
* Copyright: Copyright (c) 2001
* Company:
* @author
* @version 1.0
*/

public class Werknemer {

private Datum GeboorteDatum;
private Datum WerkDatum;
private int Werknr;
private int djaren;
private int leeftijd;
private int afdeling;

public Werknemer(Datum GeboorteDatum, Datum WerkDatum, int Werknr)
{
this.GeboorteDatum = GeboorteDatum;
this.WerkDatum = WerkDatum;
this.Werknr = Werknr;

//afdeling = Werknr/1000;

}

public int berekenLeeftijd(Datum PeilDatum)
{
leeftijd = GeboorteDatum.jarenVerschil (PeilDatum);
return leeftijd;
}

public int berekenDienstJaren(Datum PeilDatum)
{
djaren = WerkDatum.jarenVerschil (PeilDatum);
return djaren;
}

public int berekenDienstDagen()
{
int ddagen = 0;
if (djaren>=10)
ddagen = 3;
return ddagen;
}

public int berekenVijftigDagen()
{
int vijfdagen = 0;
if (leeftijd>=50)
vijfdagen = 5;
return vijfdagen;
}

public int berekenVijfenvijftigDagen()
{
int vvdagen = 0;
if (leeftijd>=55)
vvdagen = (leeftijd - 54);
return vvdagen;
}

public int berekenWerknr()
{

int afdeling = (Werknr)/1000;

int vdagen = 20;
if (afdeling==1000)
vdagen = 24;
else if (afdeling==2)
vdagen = 23;
else if (afdeling==3)
vdagen = 22;
return vdagen;
}}
Ik ben der al een hele zet meebezig maar het lukt nog niet erg :(
Zal binnenkort ook es gaan kijken naar die tuto's.

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
En wat werkt er nu niet? :?

Verwijderd

Topicstarter
Bij de applet heb je een regel:
Werknr = new Werknemer(Integer.parseInt(tfWerknr.getText()));
Deze zou volgens mij moeten gaan communiceren met de class
Werknemer: en dan dit gedeelte:
public int berekenWerknr()
{

int afdeling = (Werknr)/1000;

int vdagen = 20;
if (afdeling==1000)
vdagen = 24;
else if (afdeling==2)
vdagen = 23;
else if (afdeling==3)
vdagen = 22;
return vdagen;
}}

Maar wat ik ook probeer hij blijft, maar op die 20 dagen uitkomen. :( Alle andere vergelijking die doen het wel Goed.
Hij krijgt op de een of andere manier geen gegevens, want als je handmatig een waar de invoert 1,2 of 3 dan rekent hij het wel goed uit.

Verwijderd

je hebt:
public Werknemer(Datum GeboorteDatum, Datum WerkDatum, int Werknr)
maar wat je probeerd aan te roepen is:
public Werknemer(int Werknr)
welke niet bestaat.

volgens mij moet je niet zeggen Werknr = new Werknemer...
maar Werknr = Integer.parseInt(tfWerknr.getText());

bovenin heb je wel goed gezecht dat Werknr van het type int was.


verder staat er:
afdeling==1000
moeten daar geen drie nulletjes vanaf?

  • roelio
  • Registratie: Februari 2001
  • Niet online

roelio

fruitig, en fris.

als je die lap code nou ff tussen code tags post, kunnen wij het ook ff makkelijk lezen ;)

AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!


Verwijderd

Topicstarter
Die Werknr moet worden gedeelt door duizend, zodat hij alleen het eerste getal pakt van een 4 cijferig getal.
Die 3 extra nullen van de vergelijking afdeling == 1000
had 1 moeten zijn. Ik had dit even zo neergezet om te kijken of hij wel wat binnenkrijgt aan gegevens. Ik was alleen ff vergeten om het later weer terug te zetten.
Ik ga direct die ene regel ff proberen kijken wat hij doet

Verwijderd

Topicstarter
Dit regeltje was het :).
Hij doet het nu perfekt en kan hem nu zelfs een stukje inkorten. Wat variabelen etx. weghalen
Op dinsdag 25 december 2001 01:37 schreef JavaRules het volgende:
.............
volgens mij moet je niet zeggen Werknr = new Werknemer...
maar Werknr = Integer.parseInt(tfWerknr.getText());
.......
Je moet der alleen net zelf even op zien te komen *D
Pagina: 1