Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

My actionPerformed method(Java) is not working and I have no clue why

Here is my whole program, don’t wonder about the words I am using, I am German.
Down from l. 95 to l. 103 is the action performed method, (I only did the System.out.println() to see wether it is working or not).
I wrote other programs, where I never had any such problems, and I tried so many things, but I did not find the problem, maybe it is a total simple one…
So I would appreciate it if you help me!

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class GameFrame implements ActionListener {

    String wochentag;
    int itag = 0;
    int imonat = 0;
    int ijahrhundert = 0;
    int ijahr = 0;

    String stag;
    String smonat;
    String sjahr;
    String sJahrhundert;
    boolean rechnen = false;

    JFrame frame = new JFrame();
    JButton start = new JButton("Wochentag errechnen");
    JButton update = new JButton("Datum anzeigen");

    JPanel alles = new JPanel();

    JLabel Tag = new JLabel("Tag");
    JLabel Monat = new JLabel("Monat");
    JLabel Jahr = new JLabel("Jahr");
    JLabel Jahrhundert = new JLabel("Jahrhundert");

    JTextField Datum = new JTextField(" Welchen Wochentag hatte der --.--.---- ");
    JTextField Output = new JTextField(" Dieser Tag war ein ------tag");

    JTextField tag = new JTextField();
    JTextField monat = new JTextField();
    JTextField jahr = new JTextField();
    JTextField jahrhundert = new JTextField();

    GameFrame(){

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(500, 500);
        frame.getContentPane().setBackground(Color.WHITE);
        frame.setLayout(new BorderLayout());
        frame.setVisible(true);
        frame.setFocusable(false);
        frame.setResizable(false);

        alles.setBounds(0,0,500,500);

        Datum.setBounds(75,40,280,40);
        Datum.setEditable(false);
        Tag.setBounds(175,100,45,25);
        Monat.setBounds(175,150,55,25);
        Jahr.setBounds(175,200,50,25);
        Jahrhundert.setBounds(175,250,75,25);
        Output.setBounds(118,400,202,40);
        Output.setEditable(false);

        tag.setBounds(250,100,75,25);
        tag.setEditable(true);
        monat.setBounds(250,150,75,25);
        jahr.setBounds(250,200,75,25);
        jahrhundert.setBounds(250,250,75,25);

        start.setBounds(165,350,170,25);
        start.setFocusable(false);

        update.setBounds(175,300,150,25);
        update.setFocusable(false);

        frame.add(alles);

        alles.add(Datum);
        alles.add(Tag);
        alles.add(Monat);
        alles.add(Jahr);
        alles.add(Jahrhundert);

        alles.add(Output);

        alles.add(tag);
        alles.add(monat);
        alles.add(jahr);
        alles.add(jahrhundert);

        alles.add(start);
        alles.add(update);
    }

    public static void main(String[] args) {

        GameFrame gameframe = new GameFrame();
    }
    @Override
    public void actionPerformed(ActionEvent e){

        if(e.getSource() == update){
            stag = tag.getText();
            tag.setText("");
            System.out.println(stag);
        }
    }
}

>Solution :

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

As the guys mentioned in the comments, you have not added the listener to your component (update button). If you are using a button, you might consider using a MouseListener instead

public class GameFrame implements MouseListener {

JButton update = new JButton("Datum anzeigen");
GameFrame()
{

  //other code
  update.addMouseListener(this);

}
    public void mouseClicked(MouseEvent e) {
        // TODO Auto-generated method stub
        
    }

    public void mousePressed(MouseEvent e) {
        // TODO Auto-generated method stub
        
    }

    public void mouseReleased(MouseEvent e) {
        // TODO Auto-generated method stub
        
    }

    public void mouseEntered(MouseEvent e) {
        // TODO Auto-generated method stub
        
    }

    public void mouseExited(MouseEvent e) {
        // TODO Auto-generated method stub
        
    }
}

If you want to have multiple listeners for your separate buttons you can also create them within your constructor

update.addMouseListener(new MouseAdapter() {
    public void mouseClicked(MouseEvent e){
        System.out.println("Start button wurde geklickt");
    }
};
start.addMouseListener(new MouseAdapter() {
    public void mouseClicked(MouseEvent e){
        System.out.println("Update button wurde geklickt");
    }
};
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading