我正在使用Java制作GUI,我想知道如何使已经打开的GUI窗口重新出现在桌面的前面。
例如,如果我第一次按下按钮,它将打开一个新窗口。之后我尝试单击按钮,它只是使现有的窗口重新出现在前面,而不是显示一个全新的窗口。如果我要关闭窗口并再次单击该按钮,它将继续创建另一个新窗口。
答案 0 :(得分:0)
这是我怎么做的。创建您的子JFrame一次,并将其隐藏起来。每当按下按钮时,如果隐藏了子JFrame,请显示它,并带上child frame to the front。
final JFrame child = ...
child.setVisible(false);
child.setDefaultCloseOperation(HIDE_ON_CLOSE);
button.addEventListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Show the frame
child.setVisible(true);
// Move frame to front
child.toFront();
child.repaint();
}
});
答案 1 :(得分:0)
那是因为,根据我的理解,你只有一个窗口实例,按下你正在制作同一个窗口的按钮,重新出现在屏幕的初始位置。
编写一个方法,创建一个JFrame实例,其中包含您要包含的所有内容。然后在每次单击(或按下)按钮时添加要执行的方法,并将上一个窗口设置为 setVisible(false)。
然后每次按下按钮,屏幕上都会出现一个新窗口。但是要小心,如果你在初始窗口中使用全局变量来做你想要做的事情,使用相同的变量来初始化新窗口,就不会给你想要的结果。确保使用本地变量,因此当您按下按钮时,您可以重置' 所有内容。
如果您发布代码供我们查看,那将非常有帮助。很难通过你的问题来了解你的计划是如何运作的。