如何在actionperformed中检查ov jtextfield

kknvjkwl  于 2021-07-09  发布在  Java
关注(0)|答案(3)|浏览(307)

我有一个jtextfield,用户将输入一个数字。
我如何检查他们输入的数字是否大于0?
我对这件事很陌生,如果你觉得有点明显的话,我很抱歉。
这是我的密码

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

public class TaxiFrame extends JFrame implements ActionListener {

      private JLabel L1 = new JLabel("Number of Taxis:");
      private JLabel L2 = new JLabel("Type an integer and press enter");
      private JTextField t1 = new JTextField ("            ");

    public TaxiFrame() {
        super("This is the Frame");
        setSize(500, 300);
        getContentPane().setBackground(Color.CYAN);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLayout(new BorderLayout(10, 10));

         JPanel p = new JPanel();     

         p.setOpaque(false);
         p.add(L1);
         getContentPane().
         add("South", p);

          p.setOpaque(false);
          p.add(t1);
          getContentPane().
          add("South", p);

          p.setOpaque(false);
          p.add(L2);
          getContentPane().
          add("South", p);

        setVisible(true);

        t1.addActionListener(this);

    }

    public static void main(String[] args) {
        new TaxiFrame();
    }

    public void actionPerformed(ActionEvent e)
    {

        if (e.getSource() == t1)
        {

        }

    }

}
whhtz7ly

whhtz7ly1#

从jtextfield获取文本。打电话 getText() 在jtextfield上会这样做。查看jtextfield教程了解更多信息。
将字符串解析为int Integer.parseInt(...) .
检查是否>0。
今后,将所有这些问题分解为各自的步骤,并尝试一次解决每一步。这样做可以帮助你自己找到解决方案。

zc0qhyus

zc0qhyus2#

use "textfieldfilter" by making class JTextFieldFilter

jtextfield限制字符量输入,只接受数字,在@override public void insertstring函数中提供您的条件
希望有帮助

scyqe7ek

scyqe7ek3#

试试这个,

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

public class TaxiFrame extends JFrame implements ActionListener {

      private JLabel L1 = new JLabel("Number of Taxis:");
      private JLabel L2 = new JLabel("Type an integer and press enter");
      private JTextField t1 = new JTextField ("            ");

    public TaxiFrame() {
        super("This is the Frame");
        setSize(500, 300);
        getContentPane().setBackground(Color.CYAN);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLayout(new BorderLayout(10, 10));

         JPanel p = new JPanel();     

         p.setOpaque(false);
         p.add(L1);
         getContentPane().
         add("South", p);

          p.setOpaque(false);
          p.add(t1);
          getContentPane().
          add("South", p);

          p.setOpaque(false);
          p.add(L2);
          getContentPane().
          add("South", p);

        setVisible(true);

        t1.addActionListener(this);

    }

    public static void main(String[] args) {
        new TaxiFrame();
    }

    public void actionPerformed(ActionEvent e)
    {

        if (e.getSource() == t1)
        {
            if(Integer.parseInt(t1.getText().trim()) > 0)
            {
                //Do here
            }
        }

    }

}

相关问题