Voert if() niet goed uit
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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()));
}
}
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)
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
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);
}
}
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)
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
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();
}
}
}
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();
}
}
}
if(e.getSource() == omlaag)
down();
Vergelijken met omlaag? volgens mij is dat niets. Of ik snap het niet, kan ook ;-)
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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);
}
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