如何从动作侦听器调用多个方法?

时间:2017-12-14 00:45:18

标签: java methods

所以我正在为我的班级做一个项目,我遇到了一些障碍。

在一个完整的班级(名为GroupProject)中,我能够让我的菜单工作并显示出来,一切看起来都很棒。
在同一个GroupProject类中,我创建了一个动作侦听器类,其中包含Switch语句,其中包含可以按下每个按钮的所有不同代码的情况。

问题是它有很多方法可以从我的GroupProject类调用。

目前它工作正常,但我想将整个动作侦听器类移动到它自己的新.java文件中,这样看起来好一点。但是我不知道怎么做它所以它实际上可以调用GroupProject类中的特定方法。

这是我想要制作自己的.java文件的动作监听器类

public class ChoiceHandler implements ActionListener
{
    public void actionPerformed(ActionEvent event)
    {
        String yourChoice = event.getActionCommand();

        switch(position)
        {
        case "openingCeremony":
            switch(yourChoice)
            {
                case "c1": charizardChosen(); break;
                case "c2": break;
                case "c3": break;
            }
            break;
        case "charizardChosen":
            switch(yourChoice)
            {
                case "c3": firstBattle(); break;
            }
            break;
        case "firstBattle":
            switch(yourChoice)
            {
                case "c1": attackMenu(); break;
                case "c2": inventoryMenu(); break;
                case "c3": runOption(); break;
            }
            break;
        case "inventoryMenu":
            switch(yourChoice)
            {
                case "c1": firstBattle(); break;
            }
            break;
        case "attackMenu":
            switch(yourChoice)
            {
                case "c1": battleMenu(); break;
                case "c2": firstBattle(); break;
            }
            break;
        case "runOption":
            switch(yourChoice)
            {
                case "c1": firstBattle(); break;
            }
            break;
        case "battleMenu":
            switch(yourChoice)
            {
                case "c3": break;
            }
            break;
        }
    }
}

这些案例使用String(称为“位置”),它随着我调用的每个方法而改变,这样switch语句就可以知道我在代码中的位置。我不会包含我的GroupProject类,只会导致它大约400行,这可能会有点多。

“c1”和“c2”和“c3”情况是可以按下的不同按钮,我只是将它们命名为c1 for choice1,依此类推。

我很乐意听到任何建议,因为我的教授可能不喜欢我在课堂上上课的事实。 :\

0 个答案:

没有答案