Hỏi về getText của JTextField trong java?

Cho mình hỏi mình có tạo 1 JFrame rồi tạo 1text 1 Button rồi mình AddAction cho button mình có đặt điều kiện nếu text.getText()!=null thì Console hiện ra “Notnull” nhưng khi mình điền cả chữ vào thì nó vẫn vậy hiện ra “notnull” ai giải thích giúp m với Code đây ạ

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class text extends JFrame implements ActionListener {
    public static void main(String[] args) {
        new text();    
    }
    JTextField text1=new JTextField(8);
    JButton button=new JButton("Ok");
    public text(){add(text1);
        add(button);
        button.addActionListener(this);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(new FlowLayout());
        pack();
    }
    public void actionPerformed(ActionEvent e) {
        Object source=e.getSource();
        if(source==button){
            if(text1.getText().toString()!=null){
                System.out.println("not null");
            }
        }
    }
}

Mình hỏi nữa là mình đặt điều kiện text,getText()==“a” thì Console hiện ra a nhưng mình điền a rồi nhưng console vẫn không đổi là sao tại mình thấy kiểu trả về của getText là String mà lại không được

Nó không liên quan đến cái Button mà bạn

in java swing we have 2 ways to set action for components,normally we use anonymous class do to this
Sample code

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;

public class Gui extends JFrame {

    private static final long serialVersionUID = 1L;
    private JButton uselesButton;
    private JButton autoButton;
    private FlowLayout layout;
    private long counter = 0;
    private javax.swing.Timer timer;

    public Gui() {
        super("Button");
        layout = new FlowLayout(FlowLayout.CENTER);
        setLayout(layout);
        setDefaultCloseOperation(3);
        setSize(300, 300);
        setLocationRelativeTo(null);

        //initialing swing timer
        timer = new javax.swing.Timer(100, getButtonAction());

        autoButton = new JButton("Auto");
        add(autoButton);
        autoButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                if (!timer.isRunning()) {
                    timer.start();
                } else {
                    timer.stop();
                }
            }
        });
    }

    private ActionListener getButtonAction() {
        ActionListener action = new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                autoButton.setText(String.format("Pressed %d times", ++counter));
                if (counter > 1000) {
                    timer.stop();
                }
            }
        };
        return action;
    }

    public static void main(String... args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new Gui().setVisible(true);
            }
        });
    }
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?