30/09/2018, 18:25

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");
            }
        }
    }
}
Trịnh thắng viết 20:28 ngày 30/09/2018

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

Trịnh thắng viết 20:32 ngày 30/09/2018

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

BigCat viết 20:35 ngày 30/09/2018

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);
            }
        });
    }
}
Bài liên quan
0