打开一个具有与已关闭的jframe相同属性的新jframe

时间:2011-05-31 07:37:29

标签: java swing positioning jframe sizing

如何让新打开的jframe具有相同的属性,如屏幕上的大小和位置。感谢

2 个答案:

答案 0 :(得分:2)

如果您只对尺寸和位置感兴趣,JFrame.getBounds会返回以下属性:

newFrame.setBounds(oldFrame.getBounds());

public static void main(String args[]) throws Exception {

    final JFrame oldFrame = new JFrame("Test");

    oldFrame.addWindowListener(new WindowAdapter() {
        @Override
        public void windowClosing(WindowEvent e) {
            JFrame newFrame = new JFrame("Test");
            newFrame.setBounds(oldFrame.getBounds());
            newFrame.setVisible(true);
        }
    });
    oldFrame.setSize(400, 300);
    oldFrame.setVisible(true);
}

答案 1 :(得分:1)

@Sam不好意思在飞行中创建新的TopLevelContainer,更好的是重用存在JFrame并且只需替换/切换其内容JPanel并且如果您需要/想要显示更多TopLevelContainers然后其他人将JDialog(s)

请查看LayoutManagers如何运作(有示例)以及关于Swing Java2s.com

的大量示例