Java 监听器不';行不通

Java 监听器不';行不通,java,swing,model-view-controller,Java,Swing,Model View Controller,我正在根据MVC模型编写一个Java程序 所以问题是框架对按钮点击没有反应。 (我编写的文本在单击后不会添加到文本区域) 首先,我调用视图和控制器的构造函数 MessageFrame mf = new MessageFrame(con); MessageFrameListener mfl = new MessageFrameListener(mf); 下面是MessageFrameListener类(控制器)的一部分 下面是Mes

我正在根据MVC模型编写一个Java程序

所以问题是框架对按钮点击没有反应。 (我编写的文本在单击后不会添加到文本区域)

首先,我调用视图和控制器的构造函数

                MessageFrame mf = new MessageFrame(con);
                MessageFrameListener mfl = new MessageFrameListener(mf);
下面是MessageFrameListener类(控制器)的一部分

下面是MessageFrame类(视图)中的部分


您正在添加一个空字符串:

String insert = mf.getInput(); //all it does is: messField.getText();
mf.addLine(insert); //adding the empty string
mf.refreshInput(); //all it does is: messField.setText("");

既然您已经发布了代码片段,但还没有发布我们可以测试的功能,那么我们所能做的就是猜测——所以您将得到您所支付的费用,我的猜测如下:

您正在收听错误的消息框。您的程序有两个或多个MessageFrame对象,其中一个显示,另一个正在侦听,因此您显示的MessageFrame永远不会使侦听器跳闸


如果这没有帮助,而您需要更好的帮助,那么请向我们提供更好的问题,以及。

如果您检查或调试程序的输出,您肯定会找到答案

Exception in thread "main" java.lang.NullPointerException
    at test3.MessageFrame.addButtonListener(Main.java:93)
    at test3.MessageFrameListener.<init>(Main.java:28)
    at test3.Main.main(Main.java:18)

我试图接受一些问题,但这些问题可能对我来说很难,我不确定我是否理解这些评论。你可以(如果你愿意)接受你问题的答案。你问的第一个问题有答案,你评论说这个答案有效。你可以接受这个例子。(这是你对帮助你最好的人说“谢谢”的方式。)对不起,我误解了你的评论。我以为你说的是回答问题。我将尝试尽快接受更好的帮助,发布一条消息。如果在侦听器中设置断点,调试器中是否会出现按钮单击回调?啊,您正在手动将文本输入该字段?很抱歉。我在最初的回答中添加了一条关于重新声明的评论,你有什么建议?不要这样做?与其再次声明它,不如初始化它。就像您使用
messField
一样,谢谢!它起作用了。我还修改了JTextArea dialogArea=newjtextarea();
String insert = mf.getInput(); //all it does is: messField.getText();
mf.addLine(insert); //adding the empty string
mf.refreshInput(); //all it does is: messField.setText("");
Exception in thread "main" java.lang.NullPointerException
    at test3.MessageFrame.addButtonListener(Main.java:93)
    at test3.MessageFrameListener.<init>(Main.java:28)
    at test3.Main.main(Main.java:18)
JButton sendButton = new JButton("Send");
panel_2.add(sendButton);