有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java从嵌套类返回

我有这个测试代码,我希望该方法在按下按钮时返回一个值。最好的办法是什么

public String test(){
    JFrame frame=new JFrame();
    frame.setSize(800,600);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);

    JButton button=new JButton("Click Me!");
    frame.add(button);
}

我已经尝试添加一个ActionListener,但是我看不到从父方法返回值的方法

button.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        //A return here would not work
    }
});

共 (1) 个答案

  1. # 1 楼答案

    局部变量必须是final,但没有什么可以阻止它成为Collection,然后可以修改它

    请看下面的代码

    public String test(){
        // code
        final List<String> list = new ArrayList<>();
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                list.add("toBeReturned");
            }
        });
        frame.add(button);
        return list.get(0);
    }