import javax.swing.*; import java.awt.*; /** * * @author Martijn */ public class Rekenmachine extends JFrame{ private JTextField textvak; private JPanel knoppenpanel; public Rekenmachine(){ knoppenpanel = new Knoppen(this); textvak = new JTextField(15); add(textvak); add(knoppenpanel); textvak.setText("123"); // this works textvak.setEnabled(false); setLayout(new FlowLayout()); } public void setTextVak(){ String tekst = textvak.getText(); textvak.setText("blablabllalbalba"); // keeps showing 123 System.out.println(textvak.getText()); // shows blablabllalbalba } } ----------------------------------------------------------------------------------- import javax.swing.*; import java.awt.*; import java.awt.event.*; /** * * @author Martijn */ public class Knoppen extends JPanel { private JButton[] buttons = new JButton[16]; public Knoppen(Rekenmachine r){ KnopHandler kh = new KnopHandler(r); for(int i = 0; i < buttons.length; i++){ buttons[i] = new JButton(); buttons[i].setText("" + (i)); if(i == 10){ buttons[i].setText("C"); } if(i == 11){ buttons[i].setText("/"); } if(i == 12){ buttons[i].setText("+"); } if(i == 13){ buttons[i].setText("-"); } if(i == 14){ buttons[i].setText("*"); } if(i == 15){ buttons[i].setText("="); } add(buttons[i]); buttons[i].addActionListener(kh); } setLayout( new GridLayout(4,5)); } public class KnopHandler implements ActionListener{ private Rekenmachine r; public KnopHandler(Rekenmachine r) { this.r = r; } public void actionPerformed(ActionEvent e){ if(e.getSource() == buttons[1]){ r.setTextVak(); } if(e.getSource() == buttons[2]){ System.out.println("bla"); } } } } ----------------------------------------------------------------------- import javax.swing.*; import java.awt.*; /** * * @author Martijn */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { Rekenmachine r = new Rekenmachine(); r.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); r.setSize(200, 200); r.setTitle("Rekenmachine"); r.setVisible(true); } }