如何加2个JTextField数字?

时间:2017-01-27 17:28:50

标签: java numbers

我想添加两个数字并将结果放入 JTextFields (文本框)。为什么这段代码不起作用?

 public class Window extends JFrame implements ActionListener {
        private JButton plus;
        private JLabel text;
        private JTextField textbox1;
        private JTextField textbox2;
            public Okno(){
            this.setLayout(new FlowLayout());
            this.setBounds(400,400,400,400); 

            plus = new JButton("+");
            text = new JLabel("");
            plus.addActionListener(this);
            textbox1 = new JTextField("      ");
            textbox2 = new JTextField("      ");
            this.add(text);
            this.add(textbox1);
            this.add(textbox2);
            this.add(plus);
            this.setVisible(true);
        }
       public void actionPerformed(ActionEvent e) {
           if(e.getSource().equals(plus)){
               int result = Integer.valueOf(textbox1.getText()) +        Integer.valueOf(textbox2.getText());
              text.setText(Integer.toString(result)); //gtregergregergergreg
         }
          }
        }

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

如果在将数字放入文本字​​段时删除空格,则可以正常工作,否则会出现NumberFormatException。顺便说一下,不要使用空格来对齐文本字段。您可以使用setColumns或不同的布局管理器。此外,如果要将输入加在一起,您应该验证输入以确保只有数字。

答案 1 :(得分:0)

从以下位置删除空格:

textbox1 = new JTextField("      ");
textbox2 = new JTextField("      ");

导致在解析为Integer时失败。 设置textbox1和textbox2的首选大小:

 textbox1 = new JTextField();
 textbox1.setPreferredSize(new Dimension(20,20));
 textbox2 = new JTextField();
 textbox2.setPreferredSize(new Dimension(20,20));

希望我帮助过:)

相关问题