java JLabel最大化程序一开始运行点击不起作用

这个按钮的功能就是实现,点击它窗口就最大化,再点击它窗口就还原。这在这两个状态切换。

但我的 java程序一开始运行,点击JLabel最大化按钮,不起作用,要先点击了最小化后,再点最大化才起作用。

代码如下:请各位大神赐教

 /**
     * 最大化按钮
     */
    public void maximizeButton(){
        JLabel maxButton = new JLabel();
        maxButton.setBounds(220,474,28, 28);
        maxButton.setIcon(new ImageIcon(default_max));
        frameBackground.add(maxButton);
        maxButton.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseEntered(MouseEvent e) {
                // TODO Auto-generated method stub
                maxButton.setIcon(new ImageIcon(hover_max));
            }
            @Override
            public void mouseExited(MouseEvent e) {
                // TODO Auto-generated method stub
                maxButton.setIcon(new ImageIcon(default_max));
            }
            @Override
            public void mouseClicked(MouseEvent e) {
                // TODO Auto-generated method stub

                if(getFrameState() == 22){
                    restore();
                }else if(getFrameState() == 33){
                    max();
                }else if(getFrameState() == 44){
                    max();
                }
            }
        });
    }
    /**
     * 获取窗口状态
     */
    public int getFrameState(){
        jFrame.addWindowStateListener(new WindowStateListener() {

            @Override
            public void windowStateChanged(WindowEvent state) {
                // TODO Auto-generated method stub

                if(state.getOldState() == JFrame.NORMAL) {
                    jFrameState = 22;//旧窗口正常
                }else if(state.getNewState() == JFrame.NORMAL) {
                    jFrameState = 33;//新窗口恢复到初始状态
                }else if(state.getNewState() == JFrame.MAXIMIZED_BOTH) {
                    jFrameState = 44;//新窗口最大化
                }
            }
        });
        return jFrameState;
    }