Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建具有偏移重叠的多个帧_Java_Swing_Jframe - Fatal编程技术网

Java 创建具有偏移重叠的多个帧

Java 创建具有偏移重叠的多个帧,java,swing,jframe,Java,Swing,Jframe,我试图创建一个程序,启动任何数量的子窗口。如何使随后打开的每个窗口切换到右下角,以便可以同时看到所有窗口 我已经能够用一个静态变量进行这个偏移,但windows最终将被推迟到屏幕之外。我怎样才能防止呢 要完全理解我的问题,请尝试启动多个计算器窗口并观察其行为。有没有一种方法可以在Java中模拟这种情况 以下是我目前正在做的事情 private static int locationOfset = 0; public ATMWindow(ATM atm) { ... setBou

我试图创建一个程序,启动任何数量的子窗口。如何使随后打开的每个窗口切换到右下角,以便可以同时看到所有窗口

我已经能够用一个静态变量进行这个偏移,但windows最终将被推迟到屏幕之外。我怎样才能防止呢

要完全理解我的问题,请尝试启动多个计算器窗口并观察其行为。有没有一种方法可以在Java中模拟这种情况

以下是我目前正在做的事情

private static int locationOfset = 0;

public ATMWindow(ATM atm) {
    ...
    setBounds(500 + (50 * locationOfset), 300 + (50 * locationOfset), 450, 300);
    locationOfset++;
    ...
}

在你建议CardLayout或类似的东西之前,如果你相信的话,我真的想要多个JFrame。

首先阅读并理解

最简单的方法是使用
公共静态
字段来保持当前(或未来)位置,这样当您创建新框架时,您就可以使用类似于

setLocation((currentX += LOCATION_OFFSET), (currentY += LOCATION_OFFSET));
其中
currentX
currentY
是保持当前偏移位置的
公共静态int
值,而
LOCATION\u offset
是保持偏移量的
公共静态final int

currentX
currentY
可以是父类的子值,也可以是您认为合适的实用程序类


最重要的问题是,现在可以在用户屏幕上运行一个窗口…

调用
myJFrame.setLocationByPlatform(true)
可以将您的GUI放置在操作系统需要的位置,这通常是一件好事。使用JInternalFrame-@hoverCraftfullOfels谢谢,这正是我要找的。@Fishstick:好交易,不客气!