Beste mensen,
ik ben onlangs begonnen met een zelfstudie java programmeren. Ik gebruik het boek: java de basis. Ik moet nu en programma maken waarbij een gebruiken een begintijd (in uren en minuten) moet invoeren en een tijdsduur (in minuten). Bij een klik op een button (berekenknop) verschijnt in een apart veld de eindtijd van de afspraak. Ik heb onderstaande code gemaakt en krijg geen foutmeldingen in eclipse. Wanneer ik het programma laat draaien en een begintijd invoer en vervolgens op de berekenknop klik, gebeurd er niets. Het wil dus niet werken. Ik ben nu inmiddels 4 weken verder maar ik weet echt niet hoe ik dit moet oplossen. Weet iemand wat ik fout doe? Ik wordt er moedeloos van. Zie onderstaande code.
klasse 1
package h02;
import javax.swing.*;
public class Eindtijd extends JFrame
{
//maak een venster en stel enkele eigenschappen ervan in;
//geeft het venster een paneel als inhoud
public Eindtijd()
{
JFrame venster = new JFrame();
//300 horizontaal ruimte voor label en tekstvak
//250 verticaal: ruimte voor twee regels invoer,
// knop en tekstvak voor resultaat
venster.setSize(350,250);
venster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
venster.setTitle("Eindtijd bepalen");
venster.setLocation(100,50);// niet helemaal linksboven
JPanel hoofdpaneel = new Eindtijdpaneel();
venster.add(hoofdpaneel);
venster.setVisible(true);
}
public static void main( String[ ]args)
{
new Eindtijd();
}
}
klasse 2
package h02;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Eindtijdpaneel extends JPanel implements ActionListener
{
private JTextField urenVeld;
private JTextField minutenVeld;
private JTextField tijdsduurVeld;
private JButton berekenknop;
private JTextArea resultaatveld;
/*
* maak paneel met invoervelden en berekenknop
*/
public Eindtijdpaneel()
{
berekenknop = new JButton (" Bereken eindtijd");
berekenknop.addActionListener(this);
// tekstvakken met willekeurige defaultwaarden
// groot genoeg voor een getal van 5 cijfers
urenVeld = new JTextField("",2);
urenVeld.addActionListener(this);
minutenVeld = new JTextField("", 2);
minutenVeld.addActionListener(this);
tijdsduurVeld = new JTextField("", 5);
tijdsduurVeld.addActionListener(this);
//6 regels van 25 tekens
resultaatveld = new JTextArea(6,25);
this.setBackground(Color.CYAN);
// voeg de elementen toe aan het paneel
add(new JLabel("Begintijd Uren"));
add(urenVeld);
add(new JLabel("Minuten"));
add(minutenVeld);
add(new JLabel("Tijdsduur in minuten"));
add(tijdsduurVeld);
add(berekenknop);
add(resultaatveld);
}
/*
* bereken de resultaten en meld de uitkomst
*/
public void toonResultaat(int aantalUren, int aantalMinuten, int totaleDuur )
{
int urenRes = (totaleDuur/60)+ aantalUren;
int minutenRes = (totaleDuur% 60) + aantalMinuten ;
String toonResultaat = " De eindtijd is: " + urenRes +
" uur " + minutenRes + " minuten ";
resultaatveld.setText(toonResultaat);
}
/*
* haal gegevens op uit de velden en roep de methode
* toonReslutaat aan
*/
public void actionPerformed(ActionEvent e)
{
int aantalUren = Integer.parseInt(urenVeld.getText());
int aantalMinuten = Integer.parseInt(minutenVeld.getText());
int totaleDuur = Integer.parseInt(resultaatveld.getText());
toonResultaat(totaleDuur, aantalUren, aantalMinuten);
}
}



ik ben onlangs begonnen met een zelfstudie java programmeren. Ik gebruik het boek: java de basis. Ik moet nu en programma maken waarbij een gebruiken een begintijd (in uren en minuten) moet invoeren en een tijdsduur (in minuten). Bij een klik op een button (berekenknop) verschijnt in een apart veld de eindtijd van de afspraak. Ik heb onderstaande code gemaakt en krijg geen foutmeldingen in eclipse. Wanneer ik het programma laat draaien en een begintijd invoer en vervolgens op de berekenknop klik, gebeurd er niets. Het wil dus niet werken. Ik ben nu inmiddels 4 weken verder maar ik weet echt niet hoe ik dit moet oplossen. Weet iemand wat ik fout doe? Ik wordt er moedeloos van. Zie onderstaande code.
klasse 1
package h02;
import javax.swing.*;
public class Eindtijd extends JFrame
{
//maak een venster en stel enkele eigenschappen ervan in;
//geeft het venster een paneel als inhoud
public Eindtijd()
{
JFrame venster = new JFrame();
//300 horizontaal ruimte voor label en tekstvak
//250 verticaal: ruimte voor twee regels invoer,
// knop en tekstvak voor resultaat
venster.setSize(350,250);
venster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
venster.setTitle("Eindtijd bepalen");
venster.setLocation(100,50);// niet helemaal linksboven
JPanel hoofdpaneel = new Eindtijdpaneel();
venster.add(hoofdpaneel);
venster.setVisible(true);
}
public static void main( String[ ]args)
{
new Eindtijd();
}
}
klasse 2
package h02;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Eindtijdpaneel extends JPanel implements ActionListener
{
private JTextField urenVeld;
private JTextField minutenVeld;
private JTextField tijdsduurVeld;
private JButton berekenknop;
private JTextArea resultaatveld;
/*
* maak paneel met invoervelden en berekenknop
*/
public Eindtijdpaneel()
{
berekenknop = new JButton (" Bereken eindtijd");
berekenknop.addActionListener(this);
// tekstvakken met willekeurige defaultwaarden
// groot genoeg voor een getal van 5 cijfers
urenVeld = new JTextField("",2);
urenVeld.addActionListener(this);
minutenVeld = new JTextField("", 2);
minutenVeld.addActionListener(this);
tijdsduurVeld = new JTextField("", 5);
tijdsduurVeld.addActionListener(this);
//6 regels van 25 tekens
resultaatveld = new JTextArea(6,25);
this.setBackground(Color.CYAN);
// voeg de elementen toe aan het paneel
add(new JLabel("Begintijd Uren"));
add(urenVeld);
add(new JLabel("Minuten"));
add(minutenVeld);
add(new JLabel("Tijdsduur in minuten"));
add(tijdsduurVeld);
add(berekenknop);
add(resultaatveld);
}
/*
* bereken de resultaten en meld de uitkomst
*/
public void toonResultaat(int aantalUren, int aantalMinuten, int totaleDuur )
{
int urenRes = (totaleDuur/60)+ aantalUren;
int minutenRes = (totaleDuur% 60) + aantalMinuten ;
String toonResultaat = " De eindtijd is: " + urenRes +
" uur " + minutenRes + " minuten ";
resultaatveld.setText(toonResultaat);
}
/*
* haal gegevens op uit de velden en roep de methode
* toonReslutaat aan
*/
public void actionPerformed(ActionEvent e)
{
int aantalUren = Integer.parseInt(urenVeld.getText());
int aantalMinuten = Integer.parseInt(minutenVeld.getText());
int totaleDuur = Integer.parseInt(resultaatveld.getText());
toonResultaat(totaleDuur, aantalUren, aantalMinuten);
}
}


