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



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

如果您只对大小和位置感兴趣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);
}

@Sam说,创建新的TopLevelContainer不是一个好主意,最好是重用现有的JFrame,只替换/切换其内容JPanel,如果你需要/想要显示更多的TopLevel Container,那么其他人会通过JDialog

请检查LayoutManagers是如何工作的(有示例),以及Java2s.com 上关于Swing的大量示例

最新更新