Voert if() niet goed uit

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bas Visscher

Bas Visscher

26/03/2009 13:19:00
Quote Anchor link
Hallo,
Voor school moet ik een lift maken maar hij voert gewoon alle if()'s in de klasse Tekenlift.java uit en volgen mij zijn ze niet waar (true).
Hoe komt dit?
hieronder de code

Main klasse
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package lift;
import javax.swing.*;

public class Main {

  
    public static void main(String[] args) {
       Lift lift1 = new Lift();
       lift1.setSize(500, 400);
       lift1.setTitle("Lift Windesheim");
       lift1.setVisible(true);
       lift1.setDefaultCloseOperation(lift1.EXIT_ON_CLOSE);
       //debug kijken of hij de etage wel weergeef = positief
       //System.out.println(Integer.parseInt(Lift.currentetage.getText()));
    }
    


}

Tekenlift.java hierin zit de fout denk ik
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
package lift;
import java.awt.*;
import javax.swing.*;


public class Tekenlift extends JPanel {
  public void paintComponent( Graphics g) {
    super.paintComponent( g );    // teken de achtergrond
    setBackground( Color.WHITE );
    g.drawLine( 120, 120, 120, 260 );
    g.drawLine(120, 260, 200, 260);
    g.setColor(Color.BLUE);
    if(Integer.parseInt(Lift.currentetage.getText()) == 5)
    g.drawRect(120, 120, 15, 30);
    g.fillRect(120, 120, 15, 30);
    if(Integer.parseInt(Lift.currentetage.getText()) == 4)
    g.drawRect(120, 140, 15, 30);
    g.fillRect(120, 140, 15, 30);
    if(Integer.parseInt(Lift.currentetage.getText()) == 3)
    g.drawRect(120, 160, 15, 30);
    g.fillRect(120, 160, 15, 30);
    if(Integer.parseInt(Lift.currentetage.getText()) == 2)
    g.drawRect(120, 180, 15, 30);
    g.fillRect(120, 180, 15, 30);
    if(Integer.parseInt(Lift.currentetage.getText()) == 1)
    g.drawRect(120, 200, 15, 30);
    g.fillRect(120, 200, 15, 30);
    if(Integer.parseInt(Lift.currentetage.getText()) == 0)
    g.drawRect(120, 220, 15, 30);
    g.fillRect(120, 220, 15, 30);
  
    }

}

Lift.java klasse
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
package lift;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public  class Lift extends JFrame{
   private JPanel paneel;
   private JButton omhoog;
   private JButton omlaag;
   static JTextField currentetage;
   private int etage;

public  Lift(){
       this.etage = 0 ;
       paneel = new JPanel();
       paneel = new Tekenlift();
       ActionListener handler = new Handler();
       omhoog = new JButton("Up");
       omhoog.addActionListener(handler);
       omlaag = new JButton("Down");
       omlaag.addActionListener(handler);
       currentetage = new JTextField(4);
       paneel.add(omhoog);
       paneel.add(omlaag);
       paneel.add(currentetage);
       currentetage.setText(Integer.toString(etage));

       //pane
       setContentPane(paneel);
   }

//omhoog lift
 public void up(){
       if(etage !=5)
       this.etage = etage + 1 ;
       currentetage.setText(Integer.toString(etage));
    }
 //omlaag v/d lift
    public void down(){
        if(etage != 0)
        this.etage = etage - 1 ;
        currentetage.setText(Integer.toString(etage));
    }
//geef lift terug
  public int getEtage(){
      return Integer.parseInt(currentetage.getText()) ;
  }
  
    
//acties opvangen en uitvoeren omhoog of omlaag
class Handler implements ActionListener{
       public void actionPerformed(ActionEvent e){
          if(e.getSource() == omhoog)
            up();
          if(e.getSource() == omlaag)
            down();
       }
  }


}
 
PHP hulp

PHP hulp

24/04/2024 20:12:16
 
Han eev

Han eev

26/03/2009 13:20:00
Quote Anchor link
Het eerste wat me opvalt is dit:

if(e.getSource() == omlaag)
down();

Vergelijken met omlaag? volgens mij is dat niets. Of ik snap het niet, kan ook ;-)
 
Bas Visscher

Bas Visscher

26/03/2009 14:40:00
Quote Anchor link
je hebt gelijk
ik was de accolades vergeten dankje !! (wel erg domme fout maarja).
Maar hij begint nu wel gewoon op 0 en daar staat de tekening dan ook maar waarom update hij hem niet?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
if(Lift.etage == 5){
    g.drawRect(120, 120, 15, 30);
    g.fillRect(120, 120, 15, 30);
    }
    if(Lift.etage == 4){
    g.drawRect(120, 140, 15, 30);
    g.fillRect(120, 140, 15, 30);
    }
    if(Lift.etage == 3){
    g.drawRect(120, 160, 15, 30);
    g.fillRect(120, 160, 15, 30);
    }
    if(Lift.etage == 2){
    g.drawRect(120, 180, 15, 30);
    g.fillRect(120, 180, 15, 30);
    }
    if(Lift.etage == 1){
    g.drawRect(120, 200, 15, 30);
    g.fillRect(120, 200, 15, 30);
    }
    if(Lift.etage == 0){
    g.drawRect(120, 220, 15, 30);
    g.fillRect(120, 220, 15, 30);
    }



EDIT
het is gelukt ik moest bij de eventhandlers even opnieuw "setContentPane(paneel);" uitvoeren dit was ik vergeten.
Gewijzigd op 01/01/1970 01:00:00 door Bas Visscher
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.