JavaRookie
Gebruiker
- Lid geworden
- 13 jan 2010
- Berichten
- 7
Hallo, ik ben aan het leren programmeren maar zit nu met een probleem. Wanneer ik op de knop "klik hier" druk verandert de tekst in het tekstvak niet. Als de klassen TekstvakPaneel en KnopPaneel in 1 klasse geschreven worden werkte de knop wel. Hoe kan ik de ervoor zorgen dat er tussen verschillende klassen "gecommuniceerd" kan worden? Ik hoop dat jullie mijn vraag zo'n beetje begrijpen. Alvast bedankt!
import java.awt.event.*;
import javax.swing.*;
class TekstvakEnKnopApplicatie extends JFrame {
private JPanel paneel;
public TekstvakEnKnopApplicatie() {
paneel = new TotaalPaneel();
setContentPane( paneel );
}
public static void main( String args[] ) {
JFrame frame = new TekstvakEnKnopApplicatie();
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.setSize( 400, 200 );
frame.setTitle( "TekstvakEnKnopApplicatie" );
frame.setVisible( true );
}
}
import java.awt.*;
import javax.swing.*;
public class TotaalPaneel extends JPanel{
private KnopPaneel knop;
private TekstvakPaneel tekstvak;
public TotaalPaneel() {
setLayout( new BorderLayout() );
knop = new KnopPaneel();
tekstvak = new TekstvakPaneel();
add( knop, BorderLayout.NORTH );
add( tekstvak, BorderLayout.CENTER );
}
}
import java.awt.event.*;
import javax.swing.*;
public class TekstvakPaneel extends JPanel {
private JTextField tekstvak;
public TekstvakPaneel() {
tekstvak = new JTextField( 20 );
tekstvak.setText( "Dit is een tekstvak" );
add( tekstvak );
}
public void setTekst(String tekst){
tekstvak.setText(tekst);
}
}
import java.awt.event.*;
import javax.swing.*;
public class KnopPaneel extends JPanel {
private JButton knop;
private TekstvakPaneel vak;
public KnopPaneel() {
knop = new JButton( "Klik hier" );
knop.addActionListener( new KnopHandler() );
add( knop );
}
class KnopHandler implements ActionListener {
public void actionPerformed( ActionEvent e ) {
vak.setTekst( "Bedankt!" );
}
}
}
import java.awt.event.*;
import javax.swing.*;
class TekstvakEnKnopApplicatie extends JFrame {
private JPanel paneel;
public TekstvakEnKnopApplicatie() {
paneel = new TotaalPaneel();
setContentPane( paneel );
}
public static void main( String args[] ) {
JFrame frame = new TekstvakEnKnopApplicatie();
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.setSize( 400, 200 );
frame.setTitle( "TekstvakEnKnopApplicatie" );
frame.setVisible( true );
}
}
import java.awt.*;
import javax.swing.*;
public class TotaalPaneel extends JPanel{
private KnopPaneel knop;
private TekstvakPaneel tekstvak;
public TotaalPaneel() {
setLayout( new BorderLayout() );
knop = new KnopPaneel();
tekstvak = new TekstvakPaneel();
add( knop, BorderLayout.NORTH );
add( tekstvak, BorderLayout.CENTER );
}
}
import java.awt.event.*;
import javax.swing.*;
public class TekstvakPaneel extends JPanel {
private JTextField tekstvak;
public TekstvakPaneel() {
tekstvak = new JTextField( 20 );
tekstvak.setText( "Dit is een tekstvak" );
add( tekstvak );
}
public void setTekst(String tekst){
tekstvak.setText(tekst);
}
}
import java.awt.event.*;
import javax.swing.*;
public class KnopPaneel extends JPanel {
private JButton knop;
private TekstvakPaneel vak;
public KnopPaneel() {
knop = new JButton( "Klik hier" );
knop.addActionListener( new KnopHandler() );
add( knop );
}
class KnopHandler implements ActionListener {
public void actionPerformed( ActionEvent e ) {
vak.setTekst( "Bedankt!" );
}
}
}