gpt4 book ai didi

java - 为什么旋转窗口的背景在 Mac 而不是 Windows 上发生变化?

转载 作者:可可西里 更新时间:2023-11-01 11:36:16 26 4
gpt4 key购买 nike

我有一个在我的 MacBook 上开发的全屏 JFrame,它运行良好。背景能够改变颜色和东西。现在我把它移到我的 Windows 盒子上,背景是白色的,当我告诉它时它似乎不想改变。为什么会这样?

这是设置我的窗口的代码(简而言之):

JFrame frame;
DisplayMode dm;
frame = new JFrame();
frame.setBackground(new Color(0.3F, 0.3F, 0.3F));
dm = new DisplayMode(Main.width, Main.height, 32, DisplayMode.REFRESH_RATE_UNKNOWN);
screen = new ScreenManager();
screen.setFullScreen(dm, frame);

这是设置 JFrames 全屏的代码。

import java.awt.DisplayMode;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Window;

import javax.swing.JFrame;

public class ScreenManager
{
public static GraphicsDevice vc;

public ScreenManager()
{
GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
vc = env.getDefaultScreenDevice();
}

public void setFullScreen(DisplayMode dm, JFrame window)
{
window.setUndecorated(true);
window.setResizable(false);
vc.setFullScreenWindow(window);
if (dm != null && vc.isDisplayChangeSupported())
{
try
{
vc.setDisplayMode(dm);
}
catch (IllegalArgumentException e)
{
//No need to do anything.
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
}

最佳答案

我唯一能想到的是 JFrame 被设置为一种颜色——这不会做任何事情。

试试这个

JFrame frame = new JFrame();
frame.getContentPane().setBackground(new Color(0.3F, 0.3F, 0.3F));

您将设置 Pane 本身的颜色,而不仅仅是框架。

关于java - 为什么旋转窗口的背景在 Mac 而不是 Windows 上发生变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10770947/

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