如何让JTextField检查文本是否等于int

时间:2015-12-05 00:09:44

标签: java swing int jtextfield

我正在制作一个你输入数字的程序,它会告诉你你是对还是错。这是代码。

static int num = 1;

JPanel pnl = new JPanel();
        JTextField numSlot = new JTextField(5);
        pnl.add(new JLabel("Enter the number:"));
        pnl.add(numSlot);

        int k = JOptionPane.showConfirmDialog(null, pnl, "Enter your code", -1);
        if (k == JOptionPane.OK_OPTION) {

            if(numSlot.getText().equals(num)) {
                JOptionPane.showMessageDialog(null, "It Worked", "It Worked", -1);
            } else {
                JOptionPane.showMessageDialog(null, "Sorry", "Sorry", -1);
            }
        }
        if (k == JOptionPane.CANCEL_OPTION) {

        } else {

        }

使用此代码,即使我输入1,它总是输出对不起,所以有什么我做错了吗?如果是这样你可以回答它并尽量不要粗鲁我是初学者。

1 个答案:

答案 0 :(得分:3)

使用

if(numSlot.getText().equals(num+"")){

而不是

if(numSlot.getText().equals(num)) {

num+""将其int转换为String。 相反,您可以使用Integer.toString(num)String.valueOf(num)

<强>解释

numSlot.getText()返回String且num为int,因此numSlot.getText().equals(num)始终为false,因为String值不能与整数值相同。