Java:TextField 不转换为整数变量 i

标签 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();

    }
}

最佳答案

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

了解 JFormattedTextField .可以为int设置NumberModel,直接获取整数。

关于Java:TextField 不转换为整数变量 i,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30818620/

相关文章:

java - Swing:动态显示面板

java - 一旦我将 Runnable 传递给不同线程中的 Swing 的 invokeAndWait ,就无法停止它

java - 具有数据库 Access 权限的 jtable 单元格内的复选框

java - 使用停止按钮停止无限循环

java - 单击按钮时禁用 JTextPane 上的编辑 (Java)

java - TestNG - 如何在 testng 自定义可通过电子邮件发送的报告中打印运行时 testng 参数?

java - 在实体对象中创建服务层的新实例是否正确?

java - Comparable 比较器 Java

java - JAXB 使用 ID 引用而不是包含来序列化 XML

从 Eclipse 文件夹加载 Java HTML 文件