在JInternalFrames之间切换

时间:2016-04-02 09:42:47

标签: java jinternalframe

我之前在这里问了同样的问题,但区别在于,在我之前的问题上,我只使用了JFrame,但在听取了Mad Programmer的建议之后,我切换到了JInternalFrame,但我遇到了同样的问题,或者是一个较小的问题可以这么说。

我的程序正在根据JInternalFrame的给定大小重新调整我的JFrame大小。但是在来回切换到每个内部框架之后,其中一个会变得混乱。请看下面的图片,看看我的意思。

first run

from login frame

这是我的代码,显示登录JInternalFrame(在'gui'类中)

loginframe.add(signIn,BorderLayout.CENTER);
    dpane.add(loginframe);

    try {
        loginframe.setMaximum(true);
        mainFrame.setSize(355, 220);
    } catch (PropertyVetoException e) {
        e.printStackTrace();
    }

    //This frame handles the main system's interface.
    mframe.getContentPane().add(opt1, BorderLayout.NORTH);
    mframe.getContentPane().add(panel1, BorderLayout.CENTER);
    mframe.getContentPane().add(list, BorderLayout.EAST);
    mframe.setVisible(false);
    dpane.add(mframe);

这是我的代码,显示了我的主要JInternalFrame(在不同的类中)

try {
                            gui.mframe.setMaximum(true);
                            gui.mframe.setSize(800, 500);
                            Dimension get = gui.mframe.getSize();
                            gui.mainFrame.setSize(get.width, get.height);
                            gui.mainFrame.setLocationRelativeTo(null);
                        } catch (PropertyVetoException e) {
                            e.printStackTrace();
                        }
                        gui.mframe.setVisible(true);
                        gui.mframe.toFront();
                        gui.loginframe.setVisible(false);

这是从主JInternalFrame调用登录JInternalFrame的代码

    try {
                loginframe.setMaximum(true);
                mainFrame.setSize(355, 220);
                mainFrame.setLocationRelativeTo(null);
                } catch (Exception ex) {    
                ex.printStackTrace();
            }
            loginframe.setVisible(true);
            //loginframe.toFront();
            mframe.setVisible(false);

0 个答案:

没有答案