如何让新打开的jframe具有相同的属性,如屏幕上的大小和位置。感谢
答案 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
的大量示例