Java:TextField没有转换为整数变量i

时间:2015-06-13 12:21:19

标签: java swing

我正在使用文本字段我正在制作一个程序,其中用户在文本字段中键入i它转换为int i但问题是当用户键入i时它不会转换为int i。条件不会正确地解决为什么会发生这种情况。

public class A extends JFrame{

    private JTextField entervar;
    private JButton button;
    public A(){
        getContentPane().setLayout(null);

        entervar = new JTextField();
        entervar.setToolTipText("variable must be 'i'");

        entervar.setBounds(37,26,89,28);
        getContentPane().add(entervar);


        button = new JButton("Click");
        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                String p = entervar.getText();

                try {
                    int i;
                    if ( p.equals("i") ) {
                        i = Integer.parseInt(p);
                    }

                }
                catch (Exception e) {

                    JOptionPane.showMessageDialog (null, "Enter Variable Must be i");

                }
            }

        });
        button.setBounds(108,121,89,28);
        getContentPane().add(button);
        setSize(400,400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        setVisible(true);
    }
}

主:

public class Main {

    public static void main(String[] args) {
        A obj = new A();

    }
}

1 个答案:

答案 0 :(得分:1)

p.equals("i")表示用户在文本字段中输入“i”。所以它不能转换为数字“i”不是数字。

了解JFormattedTextField。您可以为Number设置NumberModel并直接获取整数。