我正在从Python切换到Java,我的项目有点困难。我在Swing中为一些我教过的密码编写了一个GUI。我的项目中有两个包 - cryptolib和cryptogui。 Cryptolib包含所有不同的密码作为类,cryptogui是我的GUI。
我的所有密码都是我定义的Cipher类的子语句。目前,我在使用以下课程时遇到了困难。
package cryptolib;
public class SubstitutionCipher extends Cipher{
... implementation here ...
}
在我的GUI类中,我定义了一个菜单项,使用匿名类切换到Substitution cipher。
package cryptogui;
import cryptolib.*;
public class CryptoSwing extends JFrame {
private Cipher cipher;
public CryptoSwing() {
JMenuItem mntmSubstitution = new JMenuItem("Substitution");
mntmSubstitution.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
cipher = SubstitutionCipher(txtSubKeyword.getText());
}
});
}
我遇到的问题是“私有密码密码”;工作,ActionListener中的SubstitutionCipher代码给我错误
The method SubstitutionCipher(String) is undefined for the type new ActionListener(){}
我从Swing导入的类(例如java.awt.CardLayout)工作得很好。我知道这可能是我错过的基本内容,但我已经搜索过,似乎无法找到问题。
答案 0 :(得分:1)
cipher = SubstitutionCipher(txtSubKeyword.getText());
应该是
cipher = new SubstitutionCipher(txtSubKeyword.getText());
请注意new
关键字。