Java 无法将JTextField输入转换为整数以获取输出中的和

Java 无法将JTextField输入转换为整数以获取输出中的和,java,swing,Java,Swing,我想计算JTextField上输入的总和。我想我无法将输入转换为整数。有什么建议吗?请看下面我的代码。我希望能提前得到答复,非常感谢 { JPanel myPanel = new JPanel(); JTextField SGEAC1 = new JTextField("0",10); String sgeac1tx = SGEAC1.getText(); int eac1sg = Integer.parseInt(sgeac1tx); JTextField SGEAC2 = new J

我想计算JTextField上输入的总和。我想我无法将输入转换为整数。有什么建议吗?请看下面我的代码。我希望能提前得到答复,非常感谢

{
JPanel myPanel = new JPanel();   
JTextField SGEAC1 = new JTextField("0",10);
String sgeac1tx = SGEAC1.getText();
int eac1sg = Integer.parseInt(sgeac1tx);

JTextField SGEAC2 = new JTextField("0",10);
String sgeac2tx = SGEAC2.getText();
int eac2sg = Integer.parseInt(sgeac2tx);

myPanel.add(new JLabel("SG-EAC1:"));
myPanel.add(SGEAC1);
myPanel.add(Box.createHorizontalStrut(15));

myPanel.add(new JLabel("SG-EAC2:"));
myPanel.add(SGEAC2);
myPanel.add(Box.createHorizontalStrut(15));
int IPLBW = JOptionPane.showConfirmDialog(null, myPanel, "BW", 
JOptionPane.OK_CANCEL_OPTION);
int sumbw = eac1sg+eac2sg; }

 if (IPLBW == JOptionPane.OK_OPTION) {
 JTextArea ta = new JTextArea(100, 100);
   ta.setText("INTERNATIONAL UPSTREAM LINK UPDATE"+"\n" + sumbw 
     + "\n"+"-----------------------------"
     + "\n"+"TOTALS SG BW:   "+ sumbw +"/"
     + "\n"+"-----------------------------"
     + "\n" + "SG via EAC1"+"            " + SGEAC1.getText()+"G"
     + "\n" + "SG via EAC2"+"            " + SGEAC2.getText()+"G");

  JOptionPane.showMessageDialog(null, new JScrollPane(ta), "RESULT", 
  JOptionPane.INFORMATION_MESSAGE);
ta.setWrapStyleWord(true);
ta.setLineWrap(true);
ta.setCaretPosition(0);
ta.setEditable(false);
]

您可能希望在用户输入值后进行转换。您可以尝试向JTextField组件添加操作侦听器。以下是一个例子:

    SGEAC1.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            String sgeac1tx = ((JTextField)e.getSource()).getText();
            int eac1sg = Integer.parseInt(sgeac1tx);

            System.out.println("SGEAC1 value = " + eac1sg);
        }
    });

请注意,当用户在字段中按Enter键时,将调用操作侦听器。

Integer.parse(SGEAC1.getText())
?@MadProgrammer他已经知道
Integer.parseInt
。这是个问题。@DawoodibnKareem哦,这不是你展示JOptionPaneSorry后应该计算结果的地方。伙计们,我只是个傻瓜。我只是将If语句中的字符串和int变量移到输出之前。现在它起作用了。谢谢你的主意,先生们