1

繰り返しになりますが、みなさん、こんにちは。暗号化コードに問題があります-ボタンを押しても登録されていないようです。ボタンの押下を検出するコードは以下のとおりです。

@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に感謝します:)System.out.println()ボタンが押されたときに教えてくれますが、以下のボタンのいずれかを押してもコンソールに何も出力されません。さらに詳しい情報が必要な場合は、お問い合わせください。喜んで追加させていただきます。

コードに追加addActionListener()してみましたが、使い方がわかりません...

4

2 に答える 2

2

いずれかの条件が評価される前にログ ステートメントを配置して、ActionEvent が実際に適切にトリガーされているかどうかを確認することをお勧めします。そうである場合は、アクションのソースを出力して、適切なボタンが押されていることを確認してください。

それ以外の場合は、まず、2 つのボタンが actionListener の追加を登録しているかどうかを確認します....「enc.addActionListener();」。

それが良さそうなら、setText 行の周りに try/catch を配置して、「EncDec.e」または「EncDec.d」が何らかの例外をスローしているかどうかを確認します。

とにかく試してみたいもの!:)

于 2012-12-14T18:05:50.010 に答える
2

この質問はこれに関連していると思います

ActionListener次のように、( を実装する)クラスのオブジェクトをaddActionListenerボタンに追加するだけです。

EncDecExample decExample = new EncDecExample();
enc.addActionListener(decExample);
dec.addActionListener(decExample);
enc.setVisible(true);
dec.setVisible(true);
于 2012-12-14T18:13:16.670 に答える