JAVA Probleem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Matciano van Wijk

Matciano van Wijk

10/02/2012 09:58:35
Quote Anchor link
Oke, hier is het probleem.
Ik wil bij de class naamKnopHandler de naam returnen, alleen hij weergeeft de volgende error message:

Quote:
error: cannot return a value from method whose result type is void
return naam;


Wat kan ik hier aan doen?

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
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
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Toets_2 extends JFrame
{
    public static void main(String[] args) {
        JFrame frame = new Toets_2();
        frame.setSize(400, 400 );
        frame.setLocation( 500, 500 );
        frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        frame.setTitle( "Cijferlijst Studenten" );
        JPanel paneel = new Paneel();
        frame.setContentPane( paneel );
        frame.setVisible( true );
    }
}

class Student {
  private String naam;
  private Datum gebdatum;

  public Student( String naam, Datum gebdatum ) {
    this.naam = naam;
    this.gebdatum = gebdatum;
  }

  public String getNaam() {
    return naam;
  }

  public void setNaam( String naam ) {
    this.naam = naam;
  }

  public Datum getGebdatum() {
    return gebdatum;
  }

  public String toString() {
    return naam + ", geboren op " + gebdatum.toString();
  }
}

class Datum {
  private int dag, maand, jaar;

  public Datum( int dag, int maand, int jaar ) {
    this.dag = dag;
    this.maand = maand;
    this.jaar = jaar;
  }

  public String toString() {
    return dag + "-" + maand + "-" + jaar;
  }
}

class Resultaat {
  private String vak;
  private double cijfer;

  public Resultaat( String vak, double cijfer ) {
      this.vak = vak;
      this.cijfer = cijfer;
  }

  public double getCijfer() {
      return cijfer;
  }

  public String toString() {
      return String.format( "%-20s %4.1f", vak, cijfer );
  }
}

class Paneel extends JPanel
{
    private JButton naamknop, datumknop;

    public Paneel()
    {

        naamknop = new JButton( "Naam" );
        naamknop.addActionListener( new naamKnopHandler() );

        datumknop = new JButton("Datum");
        datumknop.addActionListener(new datumKnopHandler() );

        add(naamknop);
        add(datumknop);
    }

    class naamKnopHandler implements ActionListener
    {
        public void actionPerformed( ActionEvent e )
        {
            return naam;
  }
        }

    class datumKnopHandler implements ActionListener
    {
        public void actionPerformed( ActionEvent e )
        {
        }
    }
}
 
PHP hulp

PHP hulp

29/12/2024 03:50:46
 
- SanThe -

- SanThe -

10/02/2012 10:05:46
Quote Anchor link
Volgens mij staat de oplossing letterlijk in de foutmelding.
 
Matciano van Wijk

Matciano van Wijk

10/02/2012 10:08:47
Quote Anchor link
Waar zou ik void in moeten veranderen?
 
Joakim Broden

Joakim Broden

10/02/2012 10:09:26
Quote Anchor link
Ik weet niet maar ik heb geen verstand van JAVA, maar probeer dit eens:

verander
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
  public void setNaam( String naam ) {
    this.naam = naam;
  }


naar
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
  public String setNaam( String naam ) {
    this.naam = naam;
  }
Gewijzigd op 10/02/2012 10:16:12 door Joakim Broden
 
Matciano van Wijk

Matciano van Wijk

10/02/2012 10:12:44
Quote Anchor link
Ligt het niet aan, het ligt aan deze regel : public void actionPerformed( ActionEvent e )

Ik moet dus void in iets zien te veranderen, alleen ben even totaal leeg over wat.
 
Joakim Broden

Joakim Broden

10/02/2012 10:18:31
Quote Anchor link
String?
 
Matciano van Wijk

Matciano van Wijk

10/02/2012 10:26:33
Quote Anchor link
Nee, dat had ik dus al geprobeerd, maar dat werkt niet.
 
Jaron T

Jaron T

10/02/2012 10:40:46
Quote Anchor link
public void actionPerformed( ActionEvent e )

is een event wat wordt uitgevoerd.. een event heeft normaal gesproken nooit een return maar een "actie" (vandaar void). In dit geval zou je dus iets kunnen doen met de 'naam', bijvoorbeeld een (j)Textfield.setText(); gebruiken.

Ik snap btw ook niet waarom voor elke ActionListener een aparte class maakt!?

edit; bovenstaande setter hoort gewoon void te zijn.
Gewijzigd op 10/02/2012 10:41:30 door Jaron T
 



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.