Java JButton在禁用后重新启用,而其他启用的JButton未真正启用

Java JButton在禁用后重新启用,而其他启用的JButton未真正启用,java,swing,jframe,jbutton,Java,Swing,Jframe,Jbutton,我目前面临的问题是,我有一个JFrame,它有大约6561个按钮,我只想启用其中的9个,具体取决于单击了哪个JButton。我通常能够做到这一点,但在我重新创建JFrame的特定更改之后,它停止工作。我不知道为什么会这样 if(abwincheck[m/r][h/r] == null) { if(cdwincheck[m/3][h/3] == null) { if(bcwincheck[m][h] == null) { for(int i=0; i

我目前面临的问题是,我有一个JFrame,它有大约6561个按钮,我只想启用其中的9个,具体取决于单击了哪个JButton。我通常能够做到这一点,但在我重新创建JFrame的特定更改之后,它停止工作。我不知道为什么会这样

if(abwincheck[m/r][h/r] == null) {
    if(cdwincheck[m/3][h/3] == null) {
        if(bcwincheck[m][h] == null) {
            for(int i=0; i<3; i++) {
                for(int j=0; j<3; j++) {
                    if(bcwincheck[i][j] == null) {
                        for(int k=0; k<9; k++) {
                            if(n == 2)
                                newDossier.Board.metaboard[i][j].getComponent(k).setEnabled(false);
                        }
                    }
                    if(n == 3) {
                        if(abwincheck[i][j]  ==  null) {
                            for(int b=0; b<l; b++) {
                                for (int c=0; c<l; c++) {
                                    if(bcwincheck[b][c] == null) {
                                        for(int k=0; k<9; k++) {
                                            for(int a=0; a<9; a++) {
                                                Component []componentsx3 = newDossier.Board.metametaboard[i][j].getComponents();
                                                if(componentsx3.length>1) {
                                                    Component []components = ((JPanel)newDossier.Board.metametaboard[i][j].getComponent(k)).getComponents();
                                                    if(components.length>1)
                                                        ((JPanel)newDossier.Board.metametaboard[i][j].getComponent(k)).getComponent(a).setEnabled(false);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    if(n == 4) {
                        if(abwincheck[i][j]  ==  null) {
                            for (int b=0; b<9; b++) {
                                for(int c=0; c<9; c++) {
                                    if(cdwincheck[b][c] == null) {
                                        if(bcwincheck[i*9+b][j*9+c] == null) {
                                            for(int k=0; k<9; k++) {
                                                for(int a=0; a<9; a++) {
                                                    for(int p=0; p<9; p++) {
                                                        Component []componentsx3 = newDossier.Board.metametametaboard[i][j].getComponents();
                                                        if(componentsx3.length>1) {
                                                            Component []componentsx9 = ((JPanel)newDossier.Board.metametametaboard[i][j].getComponent(k)).getComponents();
                                                            if(componentsx9.length>1) {
                                                                Component []components = ((JPanel)((JPanel)newDossier.Board.metametametaboard[i][j].getComponent(k)).getComponent(a)).getComponents();
                                                                if(components.length>1) {
                                                                    ((JPanel)((JPanel)newDossier.Board.metametametaboard[i][j].getComponent(k)).getComponent(a)).getComponent(p).setEnabled(false);
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            for(int i=0; i<l; i++) {
                for(int j=0; j<l; j++) {
                    if(i == m && j == h) {
                        for(int k=0; k<9; k++) {
                            if(n == 2 && ((JButton)newDossier.Board.metaboard[i][j].getComponent(k)).getText().equals("")) {
                                newDossier.Board.metaboard[i][j].getComponent(k).setEnabled(true);
                            }
                            if(n == 3 && ((JButton)((JPanel)newDossier.Board.metametaboard[i/3][j/3].getComponent((m%3)*3+h%3)).getComponent(k)).getText().equals("")) {
                                ((JPanel)newDossier.Board.metametaboard[i/3][j/3].getComponent((m%3)*3+h%3)).getComponent(k).setEnabled(true);
                            }
                            if(n == 4 && ((JButton)((JPanel)((JPanel)newDossier.Board.metametametaboard[i/9][j/9].getComponent(((m%9)/3)*3+(h%9)/3)).getComponent(((m%9)%3)*3+(h%9)%3)).getComponent(k)).getText().equals("")) {
                                ((JPanel)((JPanel)newDossier.Board.metametametaboard[i/9][j/9].getComponent(((m%9)/3)*3+(h%9)/3)).getComponent(((m%9)%3)*3+(h%9)%3)).getComponent(k).setEnabled(true);
                            }
                        }
                    }
                    else {
                        if(n == 3||(n == 2 && bcwincheck[i][j] == null)) {
                            for(int k=0; k<9; k++) {
                                if(n == 2)
                                    newDossier.Board.metaboard[i][j].getComponent(k).setEnabled(false);
                                if(n == 4||(n == 3 && bcwincheck[i][j] == null)) {
                                    for(int a=0; a<9; a++) {
                                        if(i<3 && j<3) {
                                            Component [] componentsx3 = newDossier.Board.metametaboard[i][j].getComponents();
                                            if(componentsx3.length>1) {
                                                Component [] components = ((JPanel)newDossier.Board.metametaboard[i][j].getComponent(k)).getComponents();
                                                if(components.length>1)
                                                    ((JPanel)newDossier.Board.metametaboard[i][j].getComponent(k)).getComponent(a).setEnabled(false);
                                            }
                                        }
                                        if(n == 4 && bcwincheck[i][j] == null) {
                                            for(int p=0; p<9; p++) {
                                                if(i<3 && j<3) {
                                                    Component [] componentsx3 = newDossier.Board.metametametaboard[i][j].getComponents();
                                                    if(componentsx3.length>1) {
                                                        Component [] componentsx9 = ((JPanel)newDossier.Board.metametametaboard[i][j].getComponent(k)).getComponents();
                                                        if(componentsx9.length>1) {
                                                            Component[] components = ((JPanel)((JPanel)newDossier.Board.metametametaboard[i][j].getComponent(k)).getComponent(a)).getComponents();
                                                            if(components.length>1)
                                                                ((JPanel)((JPanel)newDossier.Board.metametaboard[i][j].getComponent(k)).getComponent(a)).getComponent(p).setEnabled(false);
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
if(abwincheck[m/r][h/r]==null){
如果(cdwincheck[m/3][h/3]==null){
if(bcwincheck[m][h]==null){

对于(int i=0;i6000个JButtons?我可以建议重新考虑你的设计吗?啊,我的眼睛,我的眼睛…这是一堆没有上下文或意义的条件。最好的办法是添加一些断点并调试代码,或者添加一些系统代码。为了更快地获得更好的帮助,发布一个。注意:当你有那么长的行,嵌套那么深的时候,是时候了重构你的代码。六个月后,你会发现这不可能维护。听起来维护起来已经很难了。。。