ABCHERRY7 2017-10-19 16:38 采纳率: 0%
浏览 394

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;
    } 
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 如何在scanpy上做差异基因和通路富集?
    • ¥20 关于#硬件工程#的问题,请各位专家解答!
    • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
    • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
    • ¥30 截图中的mathematics程序转换成matlab
    • ¥15 动力学代码报错,维度不匹配
    • ¥15 Power query添加列问题
    • ¥50 Kubernetes&Fission&Eleasticsearch
    • ¥15 報錯:Person is not mapped,如何解決?
    • ¥15 c++头文件不能识别CDialog