我正在使用文本字段我正在制作一个程序,其中用户在文本字段中键入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();
}
}
答案 0 :(得分:1)
p.equals("i")
表示用户在文本字段中输入“i”。所以它不能转换为数字“i”不是数字。
了解JFormattedTextField。您可以为Number设置NumberModel并直接获取整数。