Recently I've been trying to make a program that takes in a double in the form of a string. It then parses that to a double which goes to another class to be divided to a quarter or a half and then returns that output to a label.
I've been having an issue where when I click a button to actually submit what is inside the text field, the label doesn't change.
I've tried a lot of trial and error and I know I can change the text after doing new JLabel("test") for example. However, there seems to be an issue with my action listener for when the button is pushed. I can't tell if it's not seeing the button as being pushed.
NOTE: I am new to awt event things and swing as a whole, I usually operate just using the output terminal of visual studio code where it's just text and no graphics.
import javax.swing.*;
import java.awt.event.*;
import java.awt.Font;
import java.awt.Dimension;
public class MoneySorterRunner {
    
    private  MoneySorter sorter = new MoneySorter();
    private String input = "0";
    private double money = Double.parseDouble(input);
    private static JTextField typeHere = new JTextField();
///labels num1-3 are the labels being changed
    private static JLabel num1 = new JLabel(new MoneySorterRunner().sorter.divQuarter(new MoneySorterRunner().money));
    private static JLabel num2 = new JLabel(new MoneySorterRunner().sorter.divQuarter(new MoneySorterRunner().money));
    private static JLabel num3 = new JLabel(new MoneySorterRunner().sorter.divHalf(new MoneySorterRunner().money));
    public static void main(String args[]) {
        JFrame frame = new JFrame("Money Calculator - v0.1a");
        JPanel panel = new JPanel();
        JButton doThing = new JButton("Do a Thing");
        doThing.setActionCommand("Do a Thing");
        frame.add(panel);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(500, 250);
        frame.setLocation(200, 200);
        frame.setResizable(false);
        frame.setLocationRelativeTo(null);
        panel.setLayout(null);
        frame.setVisible(true);
        JLabel item1 = new JLabel("test");
        JLabel item2 = new JLabel("test");
        JLabel item3 = new JLabel("test");
        item1.setFont(new Font("Arial", Font.PLAIN, 30));
        item2.setFont(new Font("Arial", Font.PLAIN, 30));
        item3.setFont(new Font("Arial", Font.PLAIN, 30));
        num1.setFont(new Font("Arial", Font.PLAIN, 25));
        num2.setFont(new Font("Arial", Font.PLAIN, 25));
        num3.setFont(new Font("Arial", Font.PLAIN, 25));
        Dimension size1 = item1.getPreferredSize();
        Dimension size2 = item2.getPreferredSize();
        Dimension size3 = item3.getPreferredSize();
        panel.add(item1);
        panel.add(item2);
        panel.add(item3);
        panel.add(num1);
        panel.add(num2);
        panel.add(num3);
        panel.add(doThing);
        panel.add(typeHere);
        item1.setBounds(10, 10, size1.width + 3, size1.height);
        item2.setBounds(190, 10, size2.width + 3, size2.height);
        item3.setBounds(325, 10, size3.width + 3, size3.height);
        num1.setBounds(50, 50, 50, 25);
        num2.setBounds(200, 50, 50, 25);
        num3.setBounds(350, 50, 50, 25);
        doThing.setBounds(250, 150, 100, 25);
        typeHere.setBounds(100, 150, 150, 25);
    }
    public void actionPerformed(ActionEvent event){
        String check = event.getActionCommand();
        if(check.equals("Do a Thing")){
            input = typeHere.getText();
        }
        if(input != "0"){
            num1.setText(sorter.divQuarter(money));
            num2.setText(sorter.divQuarter(money));
            num3.setText(sorter.divHalf(money));
        }
    }
}
For those who wanted the MoneySorter.java:
    public MoneySorter(){
    }
    public String divQuarter(double moneyIn){
        String answer = Double.toString(moneyIn);
        return answer;
    }
    public String divHalf(double moneyIn){
        String answer = Double.toString(moneyIn);
        return answer;
    }
}
 
     
    


 
     
    