无法分配最终的局部变量s3和s4,因为它是在封闭类型

时间:2017-04-29 02:36:56

标签: java

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class SwingEx1 {

    public static void main(String[] args) {
        final int s3,s4;
        JFrame f=new JFrame();
        JTextField f1=new JTextField();
        JTextField f2=new JTextField();
        JLabel l1=new JLabel("Number1:");
        JLabel l2=new JLabel("Number2:");
        JButton b1=new JButton("+");
        JButton b2=new JButton("=");
        l1.setBounds(10,50, 100, 10);
        l2.setBounds(10,100, 100, 20);

        f1.setBounds(80,50, 150, 40);
        f2.setBounds(80,100, 150, 40);
        b1.setBounds(80, 160, 60, 30);
        b1.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                String s1=f1.getText();
                s3=Integer.parseInt(s1);
                String  s2=f2.getText();
                s4=Integer.parseInt(s2);

            }
        } );

        b2.setBounds(150, 160, 60, 30);
        b2.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {

            JOptionPane.showMessageDialog(f,s3+s4);

            }
        });
        f.add(l1);
        f.add(l2);
        f.add(f1);
        f.add (f2);
        f.add(b1);
        f.add(b2);
        f.setSize(400, 400);
        f.setLayout(null); 
        f.setVisible(true);

    }

}
在s3和s4处的

错误最终局部变量s3和s4不能在ecplise中分配。  我是初学者,可以有人帮助。

1 个答案:

答案 0 :(得分:0)

信息非常明确:您宣布s3s4final,之后又尝试更改其值。如果你需要做后者,不要做前者。