Java 按下按钮时,按钮似乎没有响应

Java 按下按钮时,按钮似乎没有响应,java,swing,jframe,border-layout,Java,Swing,Jframe,Border Layout,大家好。我的加密代码有更多的问题-按键似乎没有注册。检测按钮按下的代码如下所示 @Override public void actionPerformed(ActionEvent e) { if (e.getSource() == enc && !in.getText().equalsIgnoreCase("")) { out.setText(EncDec.e(in.getText(), 5)); System.out.println("B

大家好。我的加密代码有更多的问题-按键似乎没有注册。检测按钮按下的代码如下所示

@Override
public void actionPerformed(ActionEvent e) {
    if (e.getSource() == enc && !in.getText().equalsIgnoreCase("")) {
        out.setText(EncDec.e(in.getText(), 5));
        System.out.println("Button pressed (Encrypt)");
    }
    else if(e.getSource() == dec && !in.getText().equalsIgnoreCase("")) {
        out.setText(EncDec.d(in.getText()));
        System.out.println("Button pressed (Decrypt)");
    }
}
这个问题确实与Pshemo有关,感谢Pshemo让我知道:)

我有
System.out.println()
来告诉我什么时候按下按钮,当我按下下面指定的任何一个按钮时,控制台都不会打印任何内容。如果你需要更多的信息,尽管问,我很乐意补充


我尝试将
addActionListener()
添加到代码中,但我不知道如何使用它…

我建议在计算任何一个条件之前放置一条日志语句,以查看ActionEvent实际上是否正确触发。如果是,请尝试输出操作源,以确保按下了正确的按钮

否则,我将首先检查您的两个按钮是否正在注册actionListener的添加…“enc.addActionListener();”

如果这看起来不错,我会尝试在setText行周围放置一个try/catch,看看“EncDec.e”或“EncDec.d”是否抛出了某种异常


反正有些东西可以试试!:)

我建议在计算任何一个条件之前放置一条日志语句,以查看ActionEvent是否确实正确触发。如果是,请尝试输出操作源,以确保按下了正确的按钮

否则,我将首先检查您的两个按钮是否正在注册actionListener的添加…“enc.addActionListener();”

如果这看起来不错,我会尝试在setText行周围放置一个try/catch,看看“EncDec.e”或“EncDec.d”是否抛出了某种异常


反正有些东西可以试试!:)

我假设这个问题与

您只需将类的对象(实现了
ActionListener
)和
addActionListener
添加到按钮中,如:

EncDecExample decExample = new EncDecExample();
enc.addActionListener(decExample);
dec.addActionListener(decExample);
enc.setVisible(true);
dec.setVisible(true);

我假设这个问题与我的工作有关

您只需将类的对象(实现了
ActionListener
)和
addActionListener
添加到按钮中,如:

EncDecExample decExample = new EncDecExample();
enc.addActionListener(decExample);
dec.addActionListener(decExample);
enc.setVisible(true);
dec.setVisible(true);


你能告诉我们当你按下按钮时你是如何设置代码执行的吗?@Pshemo嘿,我刚才没看见你吗?:)但是代码就在那里。if语句中的内容。要更快地获得更好的帮助,请发布一个。根据这个片段,我唯一能想到的是你忘了将侦听器添加到按钮中。@AndrewThompson你似乎与刚才回答问题的人意见一致。。。正如我所说的,我会这样做,然后发布我的结果。@NickHartley若你们将一些答案标记为解决方案,那个么就并没有必要在问题的标题中添加“已解决”。接受答案后,问题答案的数量将变为黄色,这意味着问题已解决:)您能告诉我们当您按下按钮时如何设置此代码以执行吗?@Pshemo嘿,我刚才没看见您吗?:)但是代码就在那里。if语句中的内容。要更快地获得更好的帮助,请发布一个。根据这个片段,我唯一能想到的是你忘了将侦听器添加到按钮中。@AndrewThompson你似乎与刚才回答问题的人意见一致。。。正如我所说的,我会这样做,然后发布我的结果。@NickHartley若你们将一些答案标记为解决方案,那个么就并没有必要在问题的标题中添加“已解决”。在接受答案后,问题答案的数量将变为黄色,这意味着问题已经解决:)我只是在任何
if
语句之前添加了代码-我想我现在应该更新我的代码,不是吗?另外,根据经验,我知道e()和d()不会抛出异常,它们所做的只是将一行文本更改为另一行文本。
enc.addActionListener()
可能会有所帮助,不过。。。我将尝试并发布我的结果。我只是在任何
if
语句之前添加了代码-我想我应该现在更新我的代码,不是吗?另外,根据经验,我知道e()和d()不会抛出异常,它们所做的只是将一行文本更改为另一行文本。
enc.addActionListener()
可能会有所帮助,不过。。。我会试试并公布我的结果。你是对的,这个问题与我的另一个问题有关。对不起,我应该发布一个链接到它。非常感谢你让我知道要为ActionListener添加什么。。。我自己也弄不明白。@NickHartley顺便说一句,不需要在
JComponent
上调用
setVisible(true)
,它们在默认情况下是可见的。你只需要在<代码> >对话> <代码> >和<代码> jFrase>代码> > @ GuillaumePolet,你可能想评论我原来的问题,因为它在页面的顶部而不是中间,所以我可能会更快地评论它。不过,谢谢你的帮助。@NickHartley当我发送消息时,无论我在哪里发表评论,你都会在页面顶部自动看到一个红色的阳台;-)@纪尧姆波尔特不仅是他:)你说得对,这个问题和我的另一个问题有关。对不起,我应该发布一个链接到它。非常感谢你让我知道要为ActionListener添加什么。。。我自己也弄不明白。@NickHartley顺便说一句,不需要在
JComponent
上调用
setVisible(true)
,它们在默认情况下是可见的。你只需要在<代码> >对话> <代码> >和<代码> jFrase>代码> > @ GuillaumePolet,你可能想评论我原来的问题,因为它在页面的顶部而不是中间,所以我可能会更快地评论它。不过,谢谢你的帮助。@NickHartley当我发送消息时,无论我在哪里发表评论,你都会在页面顶部自动看到一个红色的阳台;-)@纪尧姆波尔特(不仅是他:)