gpt4 book ai didi

java - 全屏尺寸及其前面的框架

转载 作者:行者123 更新时间:2023-12-01 07:26:33 24 4
gpt4 key购买 nike

我(仍然)是 Java 初学者,我创建了一个包含主框架的小软件。

需要覆盖我的软件后面的所有桌面,例如 Windows 98 安装屏幕:(我需要黑色和蓝色屏幕,覆盖所有任务栏等)。

enter image description here

为了做到这一点,我使用了全屏显示的 GraphicsDevice。这正是我所需要的:

public class Fond_noir extends JFrame {

private boolean isFullScreen = false;
private GraphicsDevice device;

public Fond_noir(int etat) {


GraphicsEnvironment env = GraphicsEnvironment
.getLocalGraphicsEnvironment();
this.device = env.getDefaultScreenDevice();

initFullScreen(etat);
}

private void initFullScreen(int etat) {
isFullScreen = device.isFullScreenSupported();

if (etat==0)
{
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
}
if (etat==1)
{
setDefaultCloseOperation(DISPOSE_ON_CLOSE);

}
setUndecorated(isFullScreen);
setResizable(!isFullScreen);
if (isFullScreen) {

// Full-screen mode
device.setFullScreenWindow(this);
validate();
} else {
// Windowed mode
this.setExtendedState(MAXIMIZED_BOTH);
this.setVisible(true);
}
}


}

然后,我在其他地方的 main 中调用这个方法,(这没有问题):

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {

public void run() {


new Fond_noir(0);
Choix_Langue inst = new Choix_Langue(); // main frame
inst.setLocationRelativeTo(null);
inst.setVisible(true);

} } ); }

但问题是,我的主框架无法显示,它隐藏在我的全屏后面..我想要相反的!或者,当我单击任务栏中的主框架时(经常使用键盘上的窗口键..),我只能看到我的主框架,并且全屏未与框架一起显示

=> 有没有办法同时显示我的框架和我的 GraphicsDevice ?在它们之间使用“优先级”..?

感谢您的阅读!

最佳答案

使用这个:

frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setUndecorated(true);
frame.setAlwaysOnTop(true)

未修饰将删除标题栏。也不要尝试单独显示两个框架。将小的添加到大的中。

bigFrame.add(smallFrame);
bigFrame.setVisible(true);

证明它有效的示例:

example

关于java - 全屏尺寸及其前面的框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23676192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com