如何将文本字段值存储到变量中,以便在JavaSwing中进一步使用?

如何将文本字段值存储到变量中,以便在JavaSwing中进一步使用?,java,swing,variables,text,input,Java,Swing,Variables,Text,Input,初始化了一个变量“input”,我想将文本存储到其中。这样我就可以使用该变量执行搜索操作。根据下面的代码,它不接受变量输入。谢谢你。请任何人帮帮我 字符串输入 jb.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { input = jt.getText(); // problem occurs her

初始化了一个变量“input”,我想将文本存储到其中。这样我就可以使用该变量执行搜索操作。根据下面的代码,它不接受变量输入。谢谢你。请任何人帮帮我

字符串输入

    jb.addActionListener(new ActionListener()
    {
        public void actionPerformed(ActionEvent ae) 
        {
            input = jt.getText(); // problem occurs here
            jl.setText(input);  
        }
    });

注意:如果要在程序的任何位置使用对象,请在程序顶部声明。那样

import java.awt.EventQueue;

public class MyExample {

    private JFrame frame;
    String input;
您不应该在匿名类之外声明“input”的类型。这样,就会出现类似“无法分配最终局部变量输入,因为它是在封闭类型中定义的”这样的错误。为了避免此错误,请确保以这种方式编写代码

        jb.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                String input = jt.getText();
                jl.setText(input);
            }
        });

因此,您可以将输入放入JLabel。

有什么问题?你收到错误信息了吗?当调用
jb
的监听器时,你能验证
jt
是否有文本吗?当你说问题时,到底发生了什么?@Trobbins如果他没有文本,他会不会得到一个仍然有效的空字符串。@Pavan你是对的,我的问题措辞不正确。让OP思考
jt
中包含的内容/如果它被实例化,这更像是一种种子。为了更快地获得更好的帮助,请发布or。如果OP想要在内部类的上下文之外使用
输入
值,该怎么办?@MadProgrammer抱歉,我可能错了,我已经为这个问题创建了一个新项目并测试了它。但是如果我把“字符串输入”放在外面,它会给我一个错误,所以我搜索了这个错误,发现一个匿名类创建了它自己的副本,并将对象放入它的副本中。这就是为什么您在外部定义的对象和内部定义的对象不再是同一个对象的原因。@mad程序员抱歉,我现在明白了。如果我们想在内部类之外使用它,我们应该在程序的顶部声明它。我将编辑我的答案。