[Java] Beginnersvraag. Sliderwaarde doorgeven aan klasse

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

  • Thefirstikke
  • Registratie: Juni 2000
  • Niet online
Ja ik heb grondig gezocht (Got, java.sun.com, Google), maar nog steeds kom ik er niet uit :)

Ik heb dus een applet met daarin een simpele slider. De waarde van deze slider (sliderValue) moet doorgegeven worden aan een klasse die laten we zeggen DrukWaardeAf heet :) Hoe zorg ik er nu voor dat als ik de slider beweeg de waarde doorgegeven wordt aan de klasse DrukWaardeAf zodat deze hem af kan drukken?

Alvast bedankt :)

  • bluewarlord
  • Registratie: Augustus 2000
  • Laatst online: 07-06 09:58
Moet je een event listener aan je slider koppelen die de DrukWaardeAf methode van je klasse aanroept.

Language exists to conceal true thought


  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Door de klasse DrukWaardeAf de interface AdjustmentListener te laten implementeren en bij de slider de juiste klasse toe te voegen?
Java:
1
sliderValue.addAdjustmentHandler(DrukWaardeAfInstantie);

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • bluewarlord
  • Registratie: Augustus 2000
  • Laatst online: 07-06 09:58
That's indeed wat I'm trying duidelijk te maken mithalph! thanx _/-\o_

[ Voor 32% gewijzigd door bluewarlord op 09-12-2002 16:23 ]

Language exists to conceal true thought


  • Thefirstikke
  • Registratie: Juni 2000
  • Niet online
p.s: wat ik al geprobeerd had:

....Daar klopt helemaal niks van :P

[ Voor 91% gewijzigd door Thefirstikke op 09-12-2002 16:33 ]


  • bluewarlord
  • Registratie: Augustus 2000
  • Laatst online: 07-06 09:58
Aannemende dat de klasse DrukWaardeAf == Motor
Waarom laat je niet de klasse DrukWaardeAf de interface AdjustmentListener implementeren en add je deze met
code:
1
slider.addAdjustmentListener(drukWaardeAf);

aan de slider? Dan heb je meteen de nieuwe waarde in je DrukWaardeAf klasse.

Language exists to conceal true thought


  • Thefirstikke
  • Registratie: Juni 2000
  • Niet online
Waar moet ik die addAdjustmentListener(drukWaardeAf); dan neerzetten? IN de klasse DrukWaarde af? Ik snap de gedachte erachter niet helemaal ;(

  • bluewarlord
  • Registratie: Augustus 2000
  • Laatst online: 07-06 09:58
De slider.addAdjustmentListener(drukWaardeAf); zet je in de klasse waar je ook de slider net hebt geinstantieerd en de drukWaardeAf klasse hebt geinstantieerd, v.b. (uit het hoofd) :
Java:
1
2
3
4
5
6
7
public class Bla extends Applet {
  public static void main() {
     Slider slider = new Slider();
     DrukWaardeAf drukWaardeAf = new DrukWaardeAf(0);
     slider.addAdjustmentListener(drukWaardeAf);
  }
}

[ Voor 3% gewijzigd door bluewarlord op 09-12-2002 16:53 . Reden: Vergeten eind code tag ]

Language exists to conceal true thought


  • Kris2904
  • Registratie: Januari 2001
  • Laatst online: 16-05 17:04

Kris2904

found his match in SoaD

Vergeet implements niet:
public class Bla extends Applet implements AdjustmentListener {....}

Misschien is het handig als je je code even post..

Was getekend, enz. | specs


  • bluewarlord
  • Registratie: Augustus 2000
  • Laatst online: 07-06 09:58
public class Bla extends Applet implements AdjustmentListener {....} is niet het geen ik bedoelde ...
Dat doet de DrukWaardeAf klasse, v.b. :

Java:
1
2
3
4
5
6
7
public class DrukWaardeAf implements AdjustmentListener {

  public void adjustmentValueChanged(AdjustmentEvent e)  {
     System.out.println("New value is :"+e.getValue());
  }

}

[ Voor 13% gewijzigd door bluewarlord op 09-12-2002 16:53 . Reden: JAva code tag ]

Language exists to conceal true thought


  • Thefirstikke
  • Registratie: Juni 2000
  • Niet online
code:
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
import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class Simulate extends Applet implements AdjustmentListener, ActionListener
{
    private Scrollbar slider;
    private int sliderValue = 0;
    
    private DrukWaardeAf myDrukWaardeAf;    
    
    public void init() 
    {
        slider = new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 201);
        add(slider);
        slider.addAdjustmentListener();
            
        myDrukWaardeAf = new DrukWaardeAf();
    }
    
    public void adjustmentValueChanged(AdjustmentEvent e)
    {
        
        sliderValue = slider.getValue();
        repaint();
        
    }

    public void paint (Graphics g)
    {
        myDrukWaardeAf.display(g);
    }       
}


De klasse DrukWaardeAf

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.awt.*;
import java.applet.*;
import java.awt.event.*;

class Motor
{
    private int waarde;
                
    public void setWaarde()
                {
                               waarde = .......
                }
        
    public void display(Graphics g)
    {
        g.drawString("test: " +waarde, 50, 50);
    }
}


ff snel wat gekalkt...

  • Kris2904
  • Registratie: Januari 2001
  • Laatst online: 16-05 17:04

Kris2904

found his match in SoaD

Geef DrukWaardeAf.display nog een argument: sliderValue. Als je in Motor ook de waarde van die slider in wil stellen (geen idee waarom, maar goed), dan zou ik daar een aparte methode voor maken in DrukWaardeAf, waarmee Motor de gewenste waarde door kan geven.

Was getekend, enz. | specs


Verwijderd

Volgens mij heb je toch niet echt goed gezocht ;) :
http://www.google.nl/sear...=UTF-8&oe=UTF-8&hl=nl&lr=
Pagina: 1