Hallo Tweakers,
Mijn vraag:
Hoe sluit je een JFrame en open je het volgende Frame met een druk op de knop?
Relevante software en hardware die ik gebruik:
Ik maak het programma in JCreator.
Mijn main class is :
De volgende klasse moet Testvolgendscherm overnemen:
Nu weet ik dat met de methode .dispose() een JFrame gesloten kan worden, maar dat gebeurt nu niet en er wordt geen nieuw JFrame gemaakt.
Ik weet dat ik iets verkeerd doe, maar kom er niet uit wat.
Hopelijk kunnen jullie me helpen.
Alvast bedankt.
Mijn vraag:
Hoe sluit je een JFrame en open je het volgende Frame met een druk op de knop?
Relevante software en hardware die ik gebruik:
Ik maak het programma in JCreator.
Mijn main class is :
code: Testvolgendscherm
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
| import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Testvolgendscherm extends JFrame{ public static void main(String[] args) { JFrame frame = new Testvolgendscherm(); frame.setSize(560, 190); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setContentPane(new Paneel ()); frame.setTitle("Volgenscherm"); frame.setVisible(true); } } class Paneel extends JPanel { JFrame frame; JButton volgende; public Paneel () { volgende = new JButton ( "volgend scherm"); volgende.addActionListener( new VolgendeHandler ()); add ( volgende ); // knop op het volgende JFrame aan te roepen } class VolgendeHandler implements ActionListener { public void actionPerformed( ActionEvent e ) { frame.dispose(); //verwacht hiermee het JFrame te kunnen sluiten new Secondscherm (); //verwacht hiermee de volgende klasse/JFrame te openen } } } |
De volgende klasse moet Testvolgendscherm overnemen:
code: Secondscherm
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
| import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Secondscherm extends JFrame { public Secondscherm() { JFrame frame = new Secondscherm(); frame.setSize(440, 280); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setContentPane(new Paneel ()); frame.setTitle("Tweede Scherm"); frame.setVisible(true); } } class Paneel extends JPanel { JButton volgendeSom; public Paneel () { volgendeSom = new JButton ( "Volgende som" ); add ( volgendeSom ); } } |
Nu weet ik dat met de methode .dispose() een JFrame gesloten kan worden, maar dat gebeurt nu niet en er wordt geen nieuw JFrame gemaakt.
Ik weet dat ik iets verkeerd doe, maar kom er niet uit wat.
Hopelijk kunnen jullie me helpen.
Alvast bedankt.