gpt4 book ai didi

java - JFrame(全屏显示)背景颜色不变

转载 作者:行者123 更新时间:2023-11-29 05:54:08 27 4
gpt4 key购买 nike

我正在使用

getContentPane().setBackground(Color.PINK);

将 JFrame 的背景设置为粉红色。此 JFrame 正在使用 GraphicsDevice 进行全屏显示。背景的颜色没有改变。有帮助吗?

全屏代码:

public static void main(String... args) {
DisplayMode dMode = new DisplayMode(800, 600, 16, DisplayMode.REFRESH_RATE_UNKNOWN);
GameMain game = new GameMain();
game.run(dMode);

}

public void run(DisplayMode dMode) {
getContentPane().setBackground(Color.PINK);
setForeground(Color.WHITE);
setFont(new Font("Arial", Font.PLAIN, 24));

Screen s = new Screen();
try {
s.setFullScreen(dMode, this);
try {
Thread.sleep(5000);
} catch(Exception e) { }
} finally {
s.restoreScreen();
}

 public void setFullScreen(DisplayMode dMode, JFrame window) {
window.setUndecorated(true);
window.setResizable(false);
gDevice.setFullScreenWindow(window);

if(dMode != null && gDevice.isDisplayChangeSupported()) {
try {
gDevice.setDisplayMode(dMode);
} catch(Exception e) { }
}
}

最佳答案

这对我来说很好......

public class TestFullScreen {

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {
@Override
public void run() {

FullFrame frame = new FullFrame();
frame.setUndecorated(true);
frame.getContentPane().setBackground(Color.PINK);

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice[] gs = ge.getScreenDevices();

gs[0].setFullScreenWindow(frame);

}
});

}

public static class FullFrame extends JFrame {

public FullFrame() {
super();

addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
System.exit(0);
}
});

}
}
}

我什至在 setFullScreenWindow 调用之后移动了 setBackground 调用。

确保内容 Pane 中没有任何可能占用全部空间的内容,并且内容 Pane 没有被更改。

关于java - JFrame(全屏显示)背景颜色不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12811377/

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